设置片段标签的适当位置

时间:2016-05-24 13:39:45

标签: android android-fragments

当我想打开一个新片段时,我称这种方法(通常可以正常工作):

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
}

设置片段标签的适当位置在哪里?

1 个答案:

答案 0 :(得分:2)

TAG 的使用是在事务中从片段池中唯一地识别片段。

因此,当替换()时,设置 TAG

稍后您可以通过以下代码访问片段

mfpdev