addToBackStack不会添加到片段管理器的后台堆栈

时间:2012-11-15 20:46:04

标签: android android-fragments

我的应用有标签,在一个标签中,我有一个带有ListView的片段。在列表中单击某个项目时,我尝试使用以下内容初始化该选项卡下的新片段:

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

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

1 个答案:

答案 0 :(得分:1)

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

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