我正在尝试解决活动中我的片段之间的后退按钮。 为此,我做了:
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.content_frame, new HomeFragmentFeed());
transaction.addToBackStack(null);
transaction.commit();
处理背面:
@Override
public void onBackPressed() {
FragmentManager fm = getFragmentManager();
if (fm.getBackStackEntryCount() > 1)
fm.popBackStack();
else
super.onBackPressed();
}
问题是,如果我在片段之间导航而不将它们弹出,则每个片段可以在堆栈中多次。 如何解决每个片段应该只在堆栈中的ONCE的问题。
谢谢!
答案 0 :(得分:0)
我不认为这是可能的,所以我建议您每次进行片段交易时都要清除后台堆栈。通过这种方式,只有最后一个片段将位于Backstack中
popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)