[英]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.