gpt4 book ai didi

java - Android:如何在设备的后退按钮操作栏和后退按钮上保留对象的状态

转载 作者:行者123 更新时间:2023-12-01 14:09:37 25 4
gpt4 key购买 nike

我有 ActivityA 和 ActivityB。 ActivityB 从 ActivityA 调用。

当我按下ActionBar的后退按钮或设备的后退按钮时,我想保留ActivityA的对象。

我创建了一个 Singleton 对象来保存我的对象并获取我的对象。

onPause() 方法我正在保存对象,onResume() 方法我正在获取对象。

我的问题是行为不同,当 Action 的后退按钮(在 ActivityB 中)时获得的对象与单击后退按钮的后退按钮时获得的对象不同。

这是代码:

protected void onPause() {
//resetSort();
super.onPause();
MySingleton.getInstance().setMyObject(myObject);
}

@Override
protected void onResume() {
super.onResume();
myObject = MySingleton.getInstance().getMyObject();
}

这是我的 list 文件。

    <activity
android:name=".ActivityA"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
>
</activity>
<activity
android:name=".ActivityB"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name" >
</activity>

来自 ActivityB 的代码:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}

任何解决方案都值得赞赏。谢谢

最佳答案

最可靠的方法是使用SharedPreferences 。它是线程安全的,即使您的应用程序被终止,它仍然存在。

Google 的 Storage Options如果您还没有机会查看指南,那么它也绝对值得一看。

要保存字符串,您可以使用:

String str = "abc";
getSharedPreferences("filename", Context.MODE_PRIVATE).edit().putString("String Name", str).commit();

然后检索它:

String str = getSharedPreferences("filename", Context.MODE_PRIVATE).getString("String Name", "default string")

关于java - Android:如何在设备的后退按钮操作栏和后退按钮上保留对象的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com