2017-08-15 111 views
0

我有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(); 

enter image description here

+0

onback按下fragmentC你想要哪个片段A或B? –

+0

我想要返回片段A – Suzy

回答

1

当在片段B中的用户点击刚刚执行

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

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

getfragmentmanager().popbackstack() 
+0

但FragmentA.xml有和fragmentC.xml不怎么处理这个问题? – Suzy

+0

fragmentA和fragmentC都可以使用相同的布局显示。片段A将被推到后台,片段C将位于最前面。一旦你按下后退按钮片段C将被销毁并且片段A将再次可见。它与活动堆栈 –

+0

一样工作吗? –