[英]ActivityNotFoundException onBackPressed and onSaveInstanceState
[英]Using onBackPressed() and onSaveInstanceState() together in an Activity
我像这样覆盖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()
。
看来你必须打电话
super.onBackPressed();
在onBackPressed()的末尾。 这样,当您先按后退按钮时,将调用onBackPressed,然后按此顺序依次调用onPause(),onStop(),onSaveInstanceState(),最后是onDestroy()。
只是有关onBackPressed的问题。 为什么要更改后退按钮的行为? Android知道如何返回上一个活动!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.