我正在尝试创建一个包含对象的数据的ArrayList (比如地址和属性列表(非常复杂)),我想知道:我如何使一个对象能够被所有的活动访问(和可编辑),而不仅仅是它被实例化的对象?
基本上如下:
3
发布于 2011-09-01 12:38:19
最简单的方法是创建一个Singleton。它是一种只能创建一次的对象,如果您再次尝试访问它,它将返回对象的现有实例。在这里面,你可以保持你的数组。
public class Singleton {
private static final Singleton instance = new Singleton();
// Private constructor prevents instantiation from other classes
private Singleton() {
}
public static Singleton getInstance() {
return instance;
}
}
阅读有关单例:http://en.wikipedia.org/wiki/Singleton_pattern的更多信息
发布于 2011-09-01 12:36:58
您可以扩展应用程序类。然后把你的数组加到那里。
可以使用以下命令访问类的实例
MyApplication appContext = (MyApplication)getApplicationContext();
发布于 2011-09-01 12:38:39
您可以创建一个常量类,并将ArrayList声明为一个静态变量。
1.)
Class ConstantCodes{
public static ArrayList<MyClass> list = new ArrayList<MyClass>;
}
只要ConstantCodes.list
就可以从任何地方访问它。
2.)您可以像这样通过Application类扩展类
class Globalclass extends Application {
private String myState;
public String getState(){
return myState;
}
public void setState(String s){
myState = s;
}
}
class TempActivity extends Activity {
@Override
public void onCreate(Bundle b){
...
Globalclass appState = ((Globalclass)getApplicationContext());
String state = appState.getState();
...
}
}
https://stackoverflow.com/questions/7270334
复制相似问题