addToBackStack没有将片段添加到后台堆栈

时间:2014-03-22 18:09:29

标签: android

我有一个带有两个片段的应用。当我点击第一个列表中的项目时,应用程序会使用以下代码加载第二个片段:

FragmentTransaction transaction = getFragmentManager().beginTransaction()
transaction.replace(R.id.fragment_container, editFragment);
transaction.addToBackStack(null);
transaction.commit();

有效。但是,当我点按后退按钮时,应用程序似乎关闭但是它仍在运行,它只是将我转发回设备的主屏幕。我想用popBackStack()来返回但是我发现在上面显示的代码之后,后面的堆栈条目数仍然是0,所以看起来addToBackStack不会向后堆栈添加任何东西。

之前我已经成功地在其他应用上使用过此功能,但我看不出这个和其他应用之间存在任何差异,尽管显然存在一些差异。

如果有人能给我一个提示,我真的很感激。

谢谢,

罗斯

1 个答案:

答案 0 :(得分:0)

如果您通过调用add()后跟addToBackStack()添加第一个片段,您将获得您描述的行为。请检查您是否正在拨打addToBackStack()两次。