FragmentTransaction.replace(id, fragment, tag)
我正在研究 Fragments,对区分和FragmentTransaction.addToBackStack(tag)
调用有点困惑。假设我当前的片段是FragmentA,然后我加载了FragmentB。我希望将来,当我需要加载FragmentA时,我不必重新加载它。只需加载旧状态的旧版本。我使用了以下代码段:
public void loadFragment(Fragment fragmentB, String tag) {
FragmentManager fm = getSupportFragmentManager();
View fragmentContainer = findViewById(R.id.fragment_container);
FragmentTransaction ft = fm.beginTransaction();
ft.replace(fragmentContainer.getId(), fragmentB, tag);
ft.addToBackStack(tag);
ft.commit();
}
现在我很困惑,我应该在哪里添加字符串标签?在replace()
或addToBackStack()
在两个电话中?你能解释一下这两个标签位置的区别吗?