Android 请帮我拿些碎片

Android 请帮我拿些碎片,android,Android,我有一个framelayout活动,其中加载了片段。 “活动”将有一个包含活动列表的侧栏 开放碎片1 开放碎片2 开放碎片3 如果我单击open fragment1,fragment1只会在其中打开一个列表。 如果单击open fragment2或open fragment3,将打开fragment2或fragment3,其中包含任何信息 如果我点击fragment1,列表中的一个项目会打开另一个片段,例如someFragment和backstack中的fragment1 现在,如果我打开侧菜单

我有一个framelayout活动,其中加载了片段。 “活动”将有一个包含活动列表的侧栏

开放碎片1 开放碎片2 开放碎片3 如果我单击open fragment1,fragment1只会在其中打开一个列表。 如果单击open fragment2或open fragment3,将打开fragment2或fragment3,其中包含任何信息

如果我点击fragment1,列表中的一个项目会打开另一个片段,例如someFragment和backstack中的fragment1

现在,如果我打开侧菜单,并尝试打开或碎片2碎片3,它会打开。但当单击“上一步”时,有些片段会重叠

//open fragment1 click
                        Fragment fragment1 = new Fragment1 ();
                        fragmentManager.beginTransaction().replace(R.id.content_frame, fragment1).commit();

//open fragment2 click
                        Fragment fragment2 = new Fragment2 ();
                        fragmentManager.beginTransaction().replace(R.id.content_frame, fragment2 ).commit();
//open fragment3 click
                        EmployeessList fragment3 = new fragment3 (getString(R.string.employee_list_link));
                        fragmentManager.beginTransaction().replace(R.id.content_frame, fragment3 ).commit();
我需要在新的片段开始时被纯化

零碎地

 @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

        FragmentTransaction fTrans = getFragmentManager().beginTransaction();
        Fragment someFragment= new SomeFragment();
        fTrans.replace(R.id.content_frame, someFragment);
        fTrans.addToBackStack(null);
        fTrans.commit();
    }

在提交从侧菜单调用的事务之前-添加以下代码:

if (fragmentManager.getBackStackEntryCount() > 0) {
    fragmentManager.popBackStack(fragmentManager.getBackStackEntryAt(0).getId(),
       FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

这将清除您当前的备份。

更改替换为添加:

fTrans.add(R.id.content_frame, someFragment);

@Sergey Balybin,在你打开fragment2 fragment1第一次打开之前,如果我更改为添加一些内容,请发布你的日志。ie我在片段中someFragment从backstack点击打开的fragment2获得fragment1,然后移除并在其位置安装fragment2我在创建fragment1时添加了日志,它们显示在调用fragment2之前,fragment1再次调用