我想在不使用共享首选项或 sqllite 数据库的情况下保留 Activity 重新加载时的数据或字符串。
目前我已经尝试过 OnsavedInstancestate 或 OnRestoreInstancestate 方法,但只有当方向改变而不是为了重新加载 Activity 时它才会起作用...
请建议我克服这个问题。
问候 普里亚
最佳答案
你可以在这里使用 singleTon 类机制。
- 尝试在您的应用中创建一个单例类。
- 在您的 Activity 中获取类的实例。
- 将数据设置到
onCreate()
中的类 - 在
onRestart()
中随时从类中获取数据。
要了解有关 singleTon 类的更多信息,请参阅 this..
创建单例类
public class Singleton {
private static Singleton singleton = new Singleton();
/*
* A private Constructor prevents any other class from instantiating.
*/
public String valueToStore;
private Singleton() {
}
/* Static 'instance' method */
public static Singleton getInstance() {
return singleton;
}
public String getValueToStore() {
return valueToStore;
}
public void setValueToStore(String valueToStore) {
this.valueToStore = valueToStore;
}
}
在你的 Activity 中。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Singleton singleton = Singleton.getInstance();
singleton.setValueToStore("Hai");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Singleton singleton = Singleton.getInstance();
Log.d("Value", singleton.getValueToStore());
}
关于android - 在不使用 android 中的共享 pref 和数据库的情况下,在重新加载 Activity 时保留 "data or string"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169163/