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 
    } 
} 

其结果是,当我按在显示片段视图返回按钮,它只是关闭应用程序而不是返回到前一个片段。我在这里做错了什么?

对不起,对于迟到的答案,但也许有人会有同样的问题。

我正在解决同样的问题。看起来只有当这个片段不在当前视图中时,实际的片段才被添加到堆叠中。所以当你切换到下一个片段后它会被添加到堆栈中。