如何在android中实现无限的片段堆栈?

时间:2015-06-28 17:57:41

标签: android android-fragments

如何在Android Facebook应用程序中实现无限制的片段堆栈,您可以从一个配置文件导航到另一个配置文件,当您按下后退按钮时,它会导航回您访问过的每个配置文件。

2 个答案:

答案 0 :(得分:2)

你需要的是将你创建的每个新片段添加到backstack,如下所示,然后当你按下新片段时,你只需要从堆栈中弹出它:

Fragment fragment = new YourFragmentGoesHere();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
            .replace(R.id.frame_container, fragment)
            .addToBackStack("Your Pre-defined String name for related fragment").commit();

当你按下新的片段时,你会倒退:

FragmentManager fm = getFragmentManager();
fm.popBackStack("Your pre-defined string name for fragment", FragmentManager.POP_BACK_STACK_INCLUSIVE);

基本上就是这样。

答案 1 :(得分:1)

您似乎正在寻找为Android中的片段实现无限制的后备堆栈。你真正想做的是先阅读本页: Providing Proper Back Navigation

特别注意&#34;实现碎片的后退导航&#34;部分。我可以在这里重复所有信息,但我会指定是,这在技术上是无限的,在同样的意义上,Facebook的后退按钮功能是无限的(即limited by free memory)。< / p>

另外请注意,如果不同的片段以某种方式更改UI,请特别注意,因为片段的标准后向导航只会反转您拥有的确切片段事务。如果遇到问题,请确保正确覆盖onBackPressed方法和/或尝试以不同方式添加/删除/替换片段(例如:this question here)

相关问题