【发布时间】:2014-11-03 08:24:06
【问题描述】:
我有带有框架布局的活动,其中加载了片段。 Activity 有一个带有列表的侧边栏。
- 打开片段1
- 打开片段2
- 打开片段3
如果我点击“打开 fragment1”,fragment1 仅在其中打开列表。 如果我点击“open fragment2”或“open fragment3”会打开fragment2或fragment3里面的任何信息。
如果我单击片段 1,列表中的一个项目会打开另一个片段,例如“someFragment”和 backstack 中的片段 1。
现在,如果我打开侧边菜单,并尝试打开 fragment2 或 fragment3,它就会打开。但是当点击“返回”然后 someFragment fragment1 重叠。
//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();
我需要在打开新的片段时进行后台提纯
在片段 1 中
@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();
}
【问题讨论】:
标签: android