当前位置: 首页 > 知识库问答 >
问题:

当片段从backstack弹出时,片段中的getParentFragment()返回null

农英杰
2023-03-14

我有一个包含框架布局的活动,片段A托管在这里与getSupportFragmentManager()一起。

此片段A托管了另外两个包含回收器视图的片段——使用< code > fragmentstatepageradar 的片段A1和片段A2。此时,我能够在片段A1和A2中使用< code > getSupportFragmentManager()获得父片段。

单击A1和A2中的回收器视图项会产生另一个片段,比如片段B,它会替换片段A并将其添加到backstack中。

现在问题来了,当我按后退按钮时,我能够获得片段状态A视图,但getSupportFragmentManager()在A1和A2片段中为父片段返回空值。

如何正确使用此方法?

共有1个答案

梁丘招
2023-03-14

当viewpager嵌套在片段中时,请在viewpager中使用getChildFragmentManager()。

adapter = new ViewPagerAdapter(getChildFragmentManager());
 类似资料:
  • 我正在创建一个包含三个视图的可视寻呼机。第一个视图是ListView,onItemClick用WebView替换了这个片段。而且我有两个问题:当添加' transaction . addtobackstack(null)'或者' transaction . setcustomanimations(...)'片段与WebView stopps一起显示。如果没有这几行,它会显示出来,但我不能按后退按钮

  • 如何从堆栈中弹出特定片段,并从片段中删除其他片段?例如,这些是我的片段,我现在在E right know。 A- 想从E回到B,清除C和D。我怎么能做到这一点?

  • 我有一个,它创建一个,然后这个创建另一个: 这让我想到。是否真的可以删除并转到? 提前感谢您的时间,我在网上找不到任何合适的信息!

  • 在我的应用程序中,我使用了一个活动和四个片段。在这个应用程序中,我使用了导航组件。我的片段加载顺序是A- 在设备背面的碎片D中,按下按钮,我想从背面移除碎片C,以便碎片B可以打开。有人建议我怎么做吗提前谢谢 这是我的导航图。xml

  • 在我的舱单中: 主要活动

  • 我在活动C中有四个片段,它们的行为就像标签一样。我必须从一个片段转到一个新的活动X。现在我想回到从活动X到片段的片段。 这是我的主要活动 '公共类MainInterface扩展了ActionBarActivity{ } ' 下面是活动视图中的公共类讨论。onclick侦听器{ ###