当FragmentTransaction调用show方法?

时间:2017-06-25 11:07:25

标签: java android fragment fragmenttransaction

我想要转换片段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

片段B中的

代码

getFragmentManager().popBackStack();

致电popBackStack()时,我不会致电FrangmentTransaction.show()

但片段A出现。为什么?我不打电话给show()

在执行show()时会自动调用popBackStack()吗?

1 个答案:

答案 0 :(得分:0)

当你调用'popBackStack()'时,Fragment框架会自动处理显示backstack中的最后一个元素,所以是的,它是100%正确的。

如果你调用.hide(),它将调用.show(),如果你没有调用.hide()(意味着旧片段被销毁),它将创建一个全新的片段并显示它。