我将onBackPressed重写为
@Override
public void onBackPressed() {
Intent setIntent = new Intent(this, MainActivity.class);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
}
我还保存了我的一个活动片段:
@Override
public void onSaveInstanceState(Bundle outState) {
getSupportFragmentManager().putFragment(outState, "mContent", mContent);
super.onSaveInstanceState(outState);
}
然而,这些方法似乎并不合作(状态永远不会保存,尽管在我超越onBackPressed()
之前它运作良好。)
有没有办法解决它,除了使用SharedPreferences
?如果可能的话,我想坚持onSaveInstanceState()
和onRestoreInstanceState()
。
答案 0 :(得分:1)
似乎你必须致电
super.onBackPressed();
在onBackPressed()结束时。这样,当您按下后退按钮时,首先调用onBackPressed,然后按顺序调用onPause(),onStop(),onSaveInstanceState(),最后调用onDestroy()。
关于onBackPressed的问题。 为什么要更改后退按钮的行为? Android知道如何回到之前的活动!