【问题标题】:Replace Main Fragment with Child fragment用子片段替换主片段
【发布时间】:2017-08-15 17:08:47
【问题描述】:

我有 3 个片段片段 A 是主要片段,片段 B 是子片段。单击片段 B 时,我希望片段 C 替换整个片段 A 并在从 C 按下返回按钮时再次导航到它。 我无法解决的问题是 framelayout 容器在 Fragment A xml 中,所以我应该给片段 C 什么片段容器:

            Fragment fragment = new PetDetailFragment();
            String fragmentTag = fragment.getClass().getName();
           getFragmentManager().beginTransaction().replace(R.id.frameLayout, fragment, fragmentTag).commit();

【问题讨论】:

  • onBack press of fragmentC 你要A还是B哪个fragment??
  • 我想回到片段A

标签: android android-fragments


【解决方案1】:

当用户点击片段 B 时执行

getFragmentManager().beginTransaction().add(R.id.frameLayout, new FragmentC(), fragmentCTag).commit();

然后当用户按下后,片段 A 将自动可见。显示片段A手动执行

getfragmentmanager().popbackstack()

【讨论】:

  • 但是 FragmentA.xml 有 而 fragmentC.xml 没有我应该如何处理这个?
  • fragmentA 和 fragmentC 都可以使用相同的布局显示。 FragmentA 将被推回堆栈,而 Fragment C 将在顶部。一旦你按下返回按钮,片段 C 将被销毁,片段 A 将再次可见。和activity栈一样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多