我想弄清楚如何在某个地方存储变量,所以当我切换到另一个活动然后再返回时,变量仍然包含这个值。不久前我使用共享首选项进行了此操作,但这是一个糟糕的解决方案,这比我需要的更持久,而且不是正确的方法。
如果在活动一中按下某个按钮,这将通过意图打开活动二并将值设置为活动二中的字符串。当转到另一个活动,或按下后退按钮,然后返回活动二时,字符串被重置回其初始值。
我试过了:
共享首选项(有效但不好)静态变量(似乎没有任何区别,也许我做错了什么)使用保存的实例状态和恢复状态方法,如下所示:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString(destination, des);
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
des = savedInstanceState.getString(destination);
}
我承认我不知道如何做到这一点,而科学怪人代码一起给我带来的问题比其他任何事情都多,但到目前为止还没有出现干草叉。
为了在活动之间的字符串中保存一个值,您有经验的程序员推荐什么?