我想要转换片段A到fragement B. 片段交易代码是
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.hide(this);
ft.add(R.id.front_side_container , detail);
ft.addToBackStack(null);
ft.commit();
片段A代码中的,ft.hid(this)
< - 我隐藏片段A
代码
getFragmentManager().popBackStack();
致电popBackStack()
时,我不会致电FrangmentTransaction.show()
但片段A出现。为什么?我不打电话给show()
在执行show()
时会自动调用popBackStack()
吗?
答案 0 :(得分:0)
当你调用'popBackStack()'时,Fragment框架会自动处理显示backstack中的最后一个元素,所以是的,它是100%正确的。
如果你调用.hide(),它将调用.show(),如果你没有调用.hide()(意味着旧片段被销毁),它将创建一个全新的片段并显示它。