Kay*_*ice 3 java inheritance code-reuse static android
我想知道如何在我的Android应用程序中访问int所有Activity类之间的相同变量.我的情况是我有一个代表一些点的变量,我把它放在它自己的类中,我希望每个Activity使用它的值都相同.
当用户获得一个点时,它会增加1,所以假设用户得到12分,我希望它在所有Activitys 中都是相同的.
小智 6
您可以使用单例对象类.但它是一种java基本模式.
public class MySingletonClass {
private static MySingletonClass instance;
public static MySingletonClass getInstance() {
if (instance == null)
instance = new MySingletonClass();
return instance;
}
private MySingletonClass() {
}
private int intValue;
public int getIntValue() {
return intValue;
}
public void setIntValue(int intValue) {
this.intValue = intValue;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以使用每个地方
MySingletonClass.getInstance().getInt;
Run Code Online (Sandbox Code Playgroud)
和
MySingletonClass.getInstance().setInt(value);
Run Code Online (Sandbox Code Playgroud)
这不是最快的模式,但它是最好的模式之一.实际上,您可以添加所需的var数量,并且可以从任何地方访问,也可以在非Activity类中访问
步骤1:
Activity从同一个BaseActivity类中扩展所有。
第2步:
将您的int变量放入,BaseActivity然后将protected和static限定符添加到int变量中:
public class BaseActivity extends Activity{
....
....
protected static int points;
....
....
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以访问每个points变量,Activity它将具有相同的值。
其他答案表明,此处无需使用单例。具有一个公共static变量要简单得多。它的编程101。
尝试这个。这将起作用。