Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在活动中同时使用onBackPressed()和onSaveInstanceState()_Android_Android Fragments_Bundle_State_Android Fragmentactivity - Fatal编程技术网

Android 在活动中同时使用onBackPressed()和onSaveInstanceState()

Android 在活动中同时使用onBackPressed()和onSaveInstanceState(),android,android-fragments,bundle,state,android-fragmentactivity,Android,Android Fragments,Bundle,State,Android Fragmentactivity,我就这样背着压着 @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 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()
之前它工作得很好)


除了使用
SharedReferences
,还有什么办法可以修复它吗?如果可能的话,我想继续使用
onSaveInstanceState()
onRestoreInstanceState()

似乎您必须调用

super.onBackPressed();
在onBackPressed()的末尾。这样,当您首先按下back按钮时,它被称为onBackPressed,然后按以下顺序被称为onPause()、onStop()、onSaveInstanceState()和onDestroy()

只是一个关于OnBackpress的问题为什么要更改“后退”按钮的行为?Android知道如何返回到以前的活动