我创建了整个应用程序周期中不同步骤所需的全局变量。下面是GlobalVariable.java创建的:
import android.app.Application;
public class GlobalVariable extends Application {
private String globalVariableOne;
public String getGlobalVariableOne() {
return globalVariableOne;
}
public void setGlobalVariableOne(String globalVariableOne) {
this.globalVariableOne = globalVariableOne;
}
}
然后,我可以使用以下代码轻松地从任何活动中获取和设置此全局变量。
final GlobalVariable globalVariable = (GlobalVariable) getApplicationContext();
//To Set the globalVariableOne Value in an Activity
globalVariable.setGlobalVariableOne("My Value");
//To Get the globalVariableOne Value in a
String readGlobalVariableOne = globalVariable.getGlobalVariableOne();
现在我在我的Activity中使用以下代码创建了一个ArrayList localArrayList
。
List<String> localArrayList = new ArrayList<String>();
int maxLength = "10";
for (int i = 0; i < maxLength; i++) {
String valueOne = "Value "+i;
String valueTwo = "Value "+i;
localArrayList.add(valueOne));
localArrayList.add(valueTwo);
}
我希望将此ArrayList存储为可由我的应用程序中的任何Activity访问和编辑的Global ArrayList。我不知道该怎么做。
任何人都可以帮我编辑我的GlobalVariable.java来定义Global ArrayList并指导我如何获取和设置这个全局ArrayList吗?
答案 0 :(得分:1)
它应该是这样的:
public class GlobalVariable extends Application {
private String globalVariableOne;
private List<String> globalArrayList;
public String getGlobalVariableOne() {
return globalVariableOne;
}
public void setGlobalVariableOne(String globalVariableOne) {
this.globalVariableOne = globalVariableOne;
}
public List<String> getGlobalArrayList() {
return globalArrayList;
}
public void setGlobalArrayList(List<String> globalArrayList) {
this.globalArrayList = globalArrayList;
}
}
然后在你的代码中你可以这样做:
GlobalVariable myAppClass = (GlobalVariable)getApplicationContext();
//saving the list
myAppClass.setGlobalArrayList(/*put here the list to save*/);
//getting the list
List<String> globalArrayList = myAppClass.getGlobalArrayList();
但我真的不喜欢将每个全局变量放在自定义Application类中的方法......