我设计了一个使用全屏片段(A)的活动,它在屏幕上有一些按钮(如http://i.stack.imgur.com/siQHT.png)。
现在从这个片段(A)启动另一个全屏片段(B)。现在问题在于,我仍然可以访问Fragment(A)的元素,Focus正在两个片段中移位。
有没有人知道如何在启动其他片段时限制父碎片(即片段A)的访问?
修改
以下是添加片段的代码:
private void addFragmentToStack(Fragment fragment) {
logv(TAG, "addFragmentToStack", "");
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.id.llMain, fragment);
ft.commit();
}
其中llMain属于Activity布局。
答案 0 :(得分:0)
尝试替换片段而不是添加新片段。
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.addToBackStack("someuniquestring");
ft.replace(R.id.llMain, fragment); // can add 3rd parameter for tag if you want to get this fragment later
ft.commit();
这将用新的片段替换旧片段,并将前一个事务添加到后栈,因此当按下“back”时,前一片段将被恢复。