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

因此,当我在"显示片段"视图中按后退按钮时,它只是关闭应用程序,而不是返回到上一个片段。我在这里做错了什么?

很抱歉回答晚了,但也许有人会有同样的问题。

我正在解决同样的问题。似乎只有当该片段不在当前视图中时,才会将实际片段添加到后退堆栈中。因此,当您切换到下一个片段时,它将被添加到堆栈中。

最新更新