我有 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();
}
这是我的清单文件。
<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);
}
任何解决方案表示赞赏。谢谢