你好,我有一个活动和三个片段。当我替换第一个片段时,我会将它添加到后退栈中。
FragmentTransaction fragmentTransaction = getFragmentManager()
.beginTransaction();
fragmentTransaction.replace(R.id.authentication_parent0_linear,
new LoginFragment(), LOGINTAG);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
但是当我在其他两个片段之间移动时,我没有将它们添加到后退堆栈中。因此,每当我从其他两个片段返回时,我需要返回到第一个片段。当我删除第一个片段并添加第二个片段或删除第一个片段并添加第三个片段时,它可以正常工作,即当我按下返回键时,我会回到第一个片段。但是,当我在这两个片段之间导航,即删除第二个并添加第三个或删除第三个并添加第二个等。在那个时刻,当我按下返回键时,我正在退出应用程序,并且后退堆栈计数显示为零,但第一次删除第一个片段时,我将其存储在后退堆栈中。
getFragmentManager()
.beginTransaction()
.replace(R.id.authentication_parent0_linear,
new SignupFragment(), SIGNUPTAG).commit();
所以我的问题是:在提交之间,片段返回栈是否会重置。如果是这样的话,我该如何在第一次获取存储的片段返回栈?