【发布时间】:2017-01-13 14:52:13
【问题描述】:
我有两个Activity,A和B。Activity B可以通过在Activity A中按一个按钮来打开。
在活动 B 中,我有一个整数变量,当我从 A 返回到活动 B 时,我想保留它。我的问题是当我按下后退按钮从 B 转到 A 时,活动被破坏。
我已将 onBackPressed 方法改写为:
@Override
public void onBackPressed(){
Intent i = new Intent(this, Game.class);
startActivity(i);
}
我可以从我的日志中看到,在按下后退按钮后,活动 B 处于 onStop() 状态,但是,没有调用 onRestart(),因此由于内存原因,活动必须被终止。
我已阅读建议我使用 onSaveInstanceState() 的其他帖子的答案,但是当我尝试访问 onCreate() 中的包时,该包为空。方法 onRestoreInstanceState() 没有被调用。
protected void onSaveInstanceState(Bundle savedInstanceState){
Log.i(LOG, "instance saving");
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt("score", userScore);
}
我也尝试过 SharedPreferences,但这没有用,因为我不希望我的数据在活动/应用程序被故意破坏时保留。
【问题讨论】:
标签: java android android-intent