当我想打开一个新片段时,我称这种方法(通常可以正常工作):
openFragment(getActivity(), R.id.fragment_holder_id, MyFragment.newInstance());
我正在处理的问题是片段标记,它总是在提交之前和之后返回null。
public static void openFragment(Activity activity, int fragmentHolderId, Fragment fragment) {
FragmentTransaction fragmentTransaction = activity.getFragmentManager().beginTransaction();
System.out.println("Tag Before Commit: " + fragment.getTag()); // null
fragmentTransaction.replace(fragmentHolderId, fragment, fragment.getTag());
fragmentTransaction.commit();
System.out.println("Tag After Commit: " + fragment.getTag()); // null
}
设置片段标签的适当位置在哪里?
答案 0 :(得分:2)
TAG 的使用是在事务中从片段池中唯一地识别片段。
因此,当替换()时,设置 TAG
稍后您可以通过以下代码访问片段
mfpdev