[英]Android save backstack fragment history
我放入了堆棧片段:A-> B-> C-> D,其中A是活動的起始片段。 按下主頁按鈕后,使用其他應用程序並返回我的應用程序,活動重新啟動,並且看到片段A。如何保存所有Backstack歷史記錄?
addbackstack的代碼示例:
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().addToBackStack(null) .setCustomAnimations(R.animator.slide_in_left,R.animator.slide_out_right,0,0)
.replace(R.id.container, new SettingsContentFragment(item))
.commit();
如果有幫助的話-我使用NavigationDrawerFragment,這是我的onCreate活動的一部分:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saveToolbar = (Toolbar) findViewById(R.id.toolbar);
if (saveToolbar != null) {
setSupportActionBar(saveToolbar);
}
saveToolbar.setNavigationIcon(R.drawable.ic_ab_drawer);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mNavigationDrawerFragment.customSetArguments(items);
mTitle = getTitle();
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));
在執行事務之前,請調用addToBackStack(null)
方法。 結果,實際上什么都沒有添加到堆棧中。 嘗試
fragmentManager.beginTransaction()
.setCustomAnimations(R.animator.slide_in_left,R.animator.slide_out_right,0,0)
.replace(R.id.container, new SettingsContentFragment(item))
.addToBackStack(null)
.commit();
代替
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.