Android 片段不';t从后堆栈返回后刷新内容

Android 片段不';t从后堆栈返回后刷新内容,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我有一个zoomfragment,其中包含一个ViewPager。 此ViewPager有三个子项:LionFragment、LeopardFragment和TigerFragment,每个子项都可以请求事务调用新的ZooFragment 当名为zooA(带参数)的ZooFragment初始化时,ViewPager中的所有三个子项都显示内容。从任何子片段中,用户触摸将调用一个新的zoomfragment,称为zooB(当然,参数不同) 基于从子片段到ZooFragment的事务操作: 1.如果使

我有一个
zoomfragment
,其中包含一个
ViewPager
。 此
ViewPager
有三个子项:
LionFragment
LeopardFragment
TigerFragment
,每个子项都可以请求事务调用新的
ZooFragment

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

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

1.如果使用
transaction.replace()
zooB
将为空,则
zooB
中的所有三个子项均不显示内容,为空。在
zooB
处,按导航中的硬键
Back
zooA
变为空

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


ZooFragment
类中,我在
onCreateView()
中加载数据,那么
ViewPager
中的所有子片段变为空的原因是什么?

请不要替换ViewPager中的片段,只显示(使用事务)在与ViewPager布局相同的任何其他布局中,该容器应为FrameLayout。此外,还设置了一个机制,以了解片段何时出现以及出现在视图中。然后从响应更新片段的实用程序请求新数据。我不认为在ViewPager中的所有片段的情况下会调用onDestroyed。 ViewPager中的片段是固定的,因此,在应用程序管理器想要销毁它之前,内容不会消失。与其尝试替换适配器中的片段,不如尝试提供一组不同的片段,并更改数据集,或者利用FrameLayout在“查看寻呼机”选项卡的当前片段上显示另一个片段

我的解决方案是:


您遗漏了最重要的部分:您在哪里使用新的
zooB
片段进行交易?@Luksprog通过触摸其中一个子片段中的
视图
,例如,
LionFragment
,到
zooB
的交易从这里开始。我在前面的评论中不清楚,我对您放置
zooB
的容器更感兴趣。我认为问题是由于不正确使用
FragmentManager
(或错误使用)或容器问题造成的。一些关于这些事务的代码可能会有帮助。您没有提到任何关于FragmentManager的内容。如果在ZooFragment内部使用ViewPager,则应使用
getChildFragmentManager()
处理ViewPager内部的片段,因为您正在处理嵌套片段。