起初,我使用该方法replace
将片段添加到返回堆栈,然后我发现当我按下返回键时,堆栈中的片段会onCreateView
再次调用,我在api演示中也发现了这种行为,所以我认为这不是一个错误,但我想达到类似活动行为的效果,即当我按下后退键时,前一个活动不会调用该onCreate
方法。
后来我发现fragmentManager.add()
可以实现我的想法,但是出现了另一个问题,当添加第二个片段时,之前的片段仍然可见。
有人可以帮我吗?
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction2 = manager.beginTransaction();
transaction2.add(R.id.fl, f2);
transaction2.addToBackStack("Fragment2");
transaction2.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction2.commit();