gpt4 book ai didi

android - 从返回堆栈返回后 fragment 不刷新内容

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:32 26 4
gpt4 key购买 nike

我有一个 ZooFragment,其中包含一个 ViewPager。这个ViewPager有三个 child :LionFragmentLeopardFragmentTigerFragment,每个 child 都可以请求事务来调用一个新的 ZooFragment

当一个名为 zooA(带有参数)的 ZooFragment 被初始化时,ViewPager 中的所有三个 child 都显示内容。从任何子 fragment ,用户触摸将调用一个名为 zooB 的新 ZooFragment(当然有不同的参数)。

基于从子 fragment 到 ZooFragment 的事务操作:

1.如果我使用transaction.replace()zooB将是空白的,zooB中的所有三个 child 都没有显示任何内容,为空.在 zooB 中,在导航中按硬键 BackzooA 变为空。

2.如果我使用 transaction.add()zooB 将不会为空,然后按下 Back 按钮,zooA 变空了。

ZooFragment 类中,我在onCreateView() 中加载数据,那么是什么原因导致ViewPager 中的所有子 fragment 都得到空?

最佳答案

请不要替换 ViewPager 中的 fragment ,只需在与 ViewPager 相同布局中包含的任何其他内容中显示(使用事务),并且该容器应该是 FrameLayout。还设置了一种机制来了解何时以及什么 fragment 进入视野。然后从响应更新 fragment 的实用程序请求新数据。我认为如果 ViewPager 中的所有 fragment 都不会调用 onDestroyed。ViewPager 中的 fragment 是固定的,因此在应用程序管理器想要销毁它之前,内容不会消失。与其尝试替换适配器中的 fragment ,不如尝试提供一组不同的 fragment 并通知数据集已更改,或者利用FrameLayout 在 View 分页选项卡的当前 fragment 上显示另一个 fragment 。

我的解决方案有效:

Swipe Gesture applied at Fragment level along with ViewPager with it's default swipe disabled

关于android - 从返回堆栈返回后 fragment 不刷新内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607580/

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