Android 碎片切换不破坏
Android Fragments switch without destroy
我有一个包含 3 个片段的 activity。每个片段都有一个问题。
当我创建 activity 时,我正在为第一个片段调用 .add(...) 方法。对于其他人,我使用 addToBackStack(...) 方法调用 .replace(...) 方法。
所以我在后台遇到这种情况:
.add(Frag1)
--> 碎片 1
.replace(..., Frag2, ...)
-->片段2
-->片段1
.replace(..., Frag3, ...)
--> Frag3
--> 片段2
--> 碎片 1
现在,当我在第三个片段然后返回时,我将从堆栈中弹出它。我想保留第三个片段,所以如果我回到第二个片段然后转到第三个片段,我想回答问题而不是再次调用另一个 onCreate()。
我想创建一种片段切换。可能吗?有人可以帮助我吗?
您可以创建一次 fragment
并根据您的需要 Show/Hide 它。
请参阅 hide & show from FragmentTransaction 文档
另见question
不如改用 viewpager,你需要:
- 禁用滑动分页,因此您可以通过编程方式更改页面
- 一次加载所有页面(设置 setOffscreenPageLimit 页面数),以便每个页面保持其状态
我有一个包含 3 个片段的 activity。每个片段都有一个问题。 当我创建 activity 时,我正在为第一个片段调用 .add(...) 方法。对于其他人,我使用 addToBackStack(...) 方法调用 .replace(...) 方法。
所以我在后台遇到这种情况:
.add(Frag1)
--> 碎片 1
.replace(..., Frag2, ...)
-->片段2
-->片段1
.replace(..., Frag3, ...)
--> Frag3
--> 片段2
--> 碎片 1
现在,当我在第三个片段然后返回时,我将从堆栈中弹出它。我想保留第三个片段,所以如果我回到第二个片段然后转到第三个片段,我想回答问题而不是再次调用另一个 onCreate()。
我想创建一种片段切换。可能吗?有人可以帮助我吗?
您可以创建一次 fragment
并根据您的需要 Show/Hide 它。
请参阅 hide & show from FragmentTransaction 文档
另见question
不如改用 viewpager,你需要:
- 禁用滑动分页,因此您可以通过编程方式更改页面
- 一次加载所有页面(设置 setOffscreenPageLimit 页面数),以便每个页面保持其状态