addToBackStack不会添加到片段管理器的后端堆栈
问题描述:
我的应用程序具有选项卡,并且在一个选项卡中,我有一个带有ListView的片段。当一个项目被点击列表中,我尝试在该标签下初始化一个新的片断有以下:addToBackStack不会添加到片段管理器的后端堆栈
private class ShowItemClickListener implements OnClickListener {
public void onClick(View v) {
Fragment showDetails = new ShowFragment();
FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
ft.replace(R.id.realtabcontent, showDetails);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
System.out.println(activity.getFragmentManager().getBackStackEntryCount()); // this prints 0 though
}
}
其结果是,当我按在显示片段视图返回按钮,它只是关闭应用程序而不是返回到前一个片段。我在这里做错了什么?
答
对不起,对于迟到的答案,但也许有人会有同样的问题。
我正在解决同样的问题。看起来只有当这个片段不在当前视图中时,实际的片段才被添加到堆叠中。所以当你切换到下一个片段后它会被添加到堆栈中。