FragmentTransaction的replace()方法无法正常工作

时间:2014-12-10 06:02:12

标签: android

FragmentTransaction的replace()方法无法正常工作......

1)。我添加了一个片段f1并提交了它。 2)。我添加了一个片段f2并提交了它。 3)。我使用了replace()方法并使用片段f3来替换片段事务对象上的任何内容。

它只删除片段f1,但不删除片段f2。所以f2和f3是可见的。 我的期望是,只应显示片段f3。

我使用LinearLayout和垂直TextView作为CONTAINER。

3 个答案:

答案 0 :(得分:0)

你可以使用它。

mFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

答案 1 :(得分:0)

根据API reference,FragmentTransaction的替换方法将:

  

替换添加到容器中的现有片段。

     

public abstract FragmentTransaction replace(int containerViewId,Fragment fragment,String tag)

     

替换添加到容器的现有片段。这与使用相同的containerViewId 添加的所有当前添加的片段,然后使用相同的add(int,Fragment,String)调用 remove(Fragment)基本相同这里给出的论点。

     

<强>参数

     
      
  • containerViewId - 要替换​​其片段的容器的标识符。
  •   
  • fragment - 要放入容器中的新片段。
  •   
  • tag - 片段的可选标记名称,以便稍后使用FragmentManager.findFragmentByTag(String)检索片段。
  •   
     

<强>返回

     

返回相同的FragmentTransaction实例。

你的期望是不是错了?

答案 2 :(得分:0)

使用FrameLayout作为容器而不是LinearLayout。