我有一個activity
首頁其中有一個fragment
。我試圖在用戶回到家時恢復activity
的狀態。如何在按下後退箭頭時恢復以前的活動狀態
這家Activity
的哪個片段的實例存儲Bundle
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
getSupportFragmentManager().putFragment(outState,"fragment",feedFragment);
}
的方法,我有這個檢查onCreate
在HomeActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
context = this;
initUi();
initToolbar();
initFragment(savedInstanceState);
}
private void initFragment(Bundle savedInstanceState) {
if(savedInstanceState!=null){
feedFragment = getSupportFragmentManager().getFragment(savedInstanceState,"fragment");
}else{
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().replace(R.id.content_container, feedFragment).commit();
}
}
所以問題是,當我改變屏幕的方向當我在HomeActivity。它恢復它的狀態。但是,當我在其他活動中時,我從另一項活動的操作欄中的後退箭頭返回到家中活動。那麼它不會恢復它的狀態,它開始再次從服務器加載數據。 我在做什麼錯?我怎麼能恢復prevoius狀態,當我從導航欄中的後退箭頭導航回HomeActivity
當我按設備的後退按鈕,然後一切順利,但是當我按在行動吧回到箭頭上一個屏幕開始重新加載數據 –
使用''public void onSaveInstanceState(Bundle outState){'not'public void onSaveInstanceState(Bundle outState,PersistableBundle outPersistentState){',您是否在操作欄的箭頭按鈕上實現了'UP'導航? – EpicPandaForce
什麼是向上導航? –