相关疑难解决方法(0)

片段没有被替换,而是放在前一个片段之上

活动:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

Fragment1 fragment = new Fragment1();
Fragment2 fragment2 = new Fragment2();

transaction.replace(R.id.Fragment1, fragment);
transaction.addToBackStack(null);
transaction.commit();

FragmentTransaction transaction2 = getSupportFragmentManager().beginTransaction();
transaction2.replace(R.id.Fragment1, fragment2);
transaction2.addToBackStack(null);
transaction2.commit();
Run Code Online (Sandbox Code Playgroud)

视图中的代码:

<fragment
    android:id="@+id/Fragment1"
    android:name="com.landa.fragment.Fragment1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/include1" /> 
Run Code Online (Sandbox Code Playgroud)

问题是,内容并没有真正被替换 - 它被置于顶部(因此它重叠).

当我单击返回时,第一个片段会正确显示(没有第二个片段),但最初两个片段都是可见的(我只希望最后一个片段可见).

我在这里错过了什么?

android android-fragments

97
推荐指数
5
解决办法
8万
查看次数

标签 统计

android ×1

android-fragments ×1