gpt4 book ai didi

java - Android保存backstack fragment历史

转载 作者:行者123 更新时间:2023-12-05 07:56:06 24 4
gpt4 key购买 nike

我放入后台堆栈 fragment :A->B->C->D,其中 A 是 Activity 的起始 fragment 。按下主页按钮后,使用其他应用程序并返回我的应用程序, Activity 重新启动,我看到 fragment A。如何保存所有后台堆栈历史记录?

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,我在 Activity 中的 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();

代替

关于java - Android保存backstack fragment历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com