首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >片段没有被替换,而是放在前一个片段的顶部

片段没有被替换,而是放在前一个片段的顶部
EN

Stack Overflow用户
提问于 2013-02-11 18:32:38
回答 11查看 98.8K关注 0票数 108

活动:

代码语言:javascript
运行
复制
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();

视图中的代码:

代码语言:javascript
运行
复制
<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" /> 

问题是,内容并没有真正被替换-它被放在顶部(所以它是重叠的)。

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

这里我漏掉了什么?

EN

回答 11

Stack Overflow用户

发布于 2014-05-28 04:47:03

我也有类似的问题,但我的问题是我使用了两个不同的片段管理器:一个来自getSupportFragmentManager(),另一个来自getFragmentManager()。如果我使用SupportFragmentManager添加一个片段,然后尝试用FragmentManager替换该片段,则该片段将被添加到顶部。我需要更改代码,以便使用相同的FragmentManager,这就解决了这个问题。

票数 33
EN

Stack Overflow用户

发布于 2013-02-11 18:50:56

android developer站点建议使用FrameLayout在运行时动态加载片段。您已经在xml文件中对片段进行了硬编码。因此,不能在运行时删除它,如此链接中所述:

http://developer.android.com/training/basics/fragments/creating.html

此链接显示了如何通过您的程序添加片段:

http://developer.android.com/training/basics/fragments/fragment-ui.html

票数 17
EN

Stack Overflow用户

发布于 2013-02-11 18:47:30

您可以在替换片段之前清除backStack:

代码语言:javascript
运行
复制
    FragmentManager fm = getActivity().getSupportFragmentManager();

    for (int i = 0; i < fm.getBackStackEntryCount(); i++) {
        fm.popBackStack();
    }

    // replace your fragments
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14810348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档