java在类中使用全局变量
我在用安卓 studio做一个api 21的项目,
我有一个带有文本字段和按钮的活动,当单击时,我希望在应用程序的生命周期内存储文本字段的文本,我使用一个全局变量
我有一个扩展应用程序的类变量:
package com.example.user.variableglobale;
import 安卓.app.Application;
public class Variable extends Application {
private String chiffre;
public String getChiffre() {
return this.chiffre;
}
public void setChiffre(String chiffre) {
this.chiffre = chiffre;
}
在我的主页里:
final Variable VG = (Variable) getApplication();
final TestVar tV = new TestVar();
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tV.testVar(MainActivity.this);
VG.setChiffre(String.valueOf(txt.getText()));
}
});
下面是通过按钮调用的java类:
public class TestVar {
public void testVar(Context context) {
Variable VG = (Variable) context.getApplicationContext();
String temp = VG.getChiffre();
Toast.makeText(context.getApplicationContext(), "test java VG " + temp, Toast.LENGTH_SHORT).show();
}
}
有人能解释一下在java类中使用全局变量的方法吗
当我点击按钮时,会出现一个toast,其中“temp”的值为“null”(似乎未初始化)
在我的例子中,我尝试了“上下文”,但没有成功
# 1 楼答案
好了,终于成功了, 在onclickListener中,我必须交换变量的声明和类的调用。。。一切都好吗
# 2 楼答案
我认为存储变量的更好方法是将其存储在共享首选项中。你可以在任何活动中访问它,即使应用程序关闭,它也会持续存在。 您可以使用它,而不需要像这样为变量设置类
主要内容:
testVar方法是这样的
您可以阅读有关共享首选项的更多信息here