Android列表碎片重叠

时间:2015-01-21 16:10:34

标签: android android-fragments

我需要将一个列表片段替换为另一个列表片段(也列表)。但它们重叠。

动态添加片段:

fragmentManager.beginTransaction().replace(R.id.container,
                    CatalogFragment.newInstance(position + 1)).addToBackStack(null).commit();

并且当CatalogFragment的列表项的项目点击时,我正试图将此LessonFragment替换为OnFragmentInteractionListener中的CatalogFragment

//        fragmentManager = getSupportFragmentManager(); 
//        fragmentManager.popBackStack();

    FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.fragment_catalog, LessonsFragment.newInstance());
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();

我一直试图在backStack中弹出上一项。还试图给出CatalogFragment的backStack名称,然后手动删除它。不行。 两个片段都会同时显示。

我已经尝试了google的前10个解决方案,并尝试使用标准 developer.android 的替代解决方案。失败。

如果你知道如何,请帮忙。提前谢谢。

P.S。告诉我们是否需要更多代码。

1 个答案:

答案 0 :(得分:1)

在您的代码中,您在布局CatalogFragment中添加了R.id.container,但在另一个布局中替换了LessonsFragmentR.id.fragment_catalog。我认为这就是为什么2个片段同时显示的原因。您应该只使用1 Layout视图来显示片段,只需要1个可见片段。