可以在应用程序中获取所有活动吗?我有一个全局整数变量,应该在每个活动的ActionBar中。我想到这样的事情:
for (Layout/Activity l in (all activites)) {
l.setTitle(variable);
}
我已经用R.layout
尝试过了,但这对我没用。
我该怎么做?还是有更好的方法在所有活动标签中显示我的变量?后来我想从我的set方法中为全局变量调用这段代码。
答案 0 :(得分:0)
是的,单身人士可以做到这一点。 这是如何使用singleton:
这是Singleton类:
public class Singleton {
private static Singleton mInstance = null;
private String mTitle;
public void setmTitle(String mtitle){
this.mTitle=mtitle
}
public String getmTitle(){
return mTitle;
}
public static FilterArrayList getInstance(){
if(mInstance == null)
{
mInstance = new FilterArrayList();
}
return mInstance;
}
}
这是第一项活动:
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Singleton.mInstance.setmTitle("This is Singleton");
}
}
和第二项活动:
public class SecondActivity extends Activity {
String Title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Title=Singleton.mInstance.getmTitle();
}
}
答案 1 :(得分:0)
有only one activity running at a time,所以你不能得到这种参考。
说,我认为这样做的方法是在某个类中创建一个int static variable,并从你的活动中调用它。
// SomeClass的
public static int xValue = 0;
// ActivityOne || ActivityTwo ||活动三......
String text = String.valueOf(SomeClass.xValue);
SomeClass.xValue = 1;
因为它是一个公共静态变量,所以您不需要实例化任何对象来获取/设置其值,并且可以从任何类访问它。此外,只要其类在内存中,该值就可以访问,并且在类被卸载时就会销毁。