Android Backstack管理

时间:2014-09-08 08:55:15

标签: android android-fragments

我有一个活动A,它调用另一个活动B.活动B 3有标签/片段(F1,F2,F3)。当调用活动B时,最初启动片段F1,其具有列表视图。从Fragment F1,在列表项上单击我调用DialogFragment D1。该对话框片段刷新片段F1中的列表。在Backstack上的所有内容都可以正常工作,直到调用Dialog Fragment。问题是当片段F1刷新并按下后退按钮时,它会返回到相同的片段,因为从F1调用DialogFragment。所以序列是

A-> B-> F1-> DF(刷新片段) - > F1

从对话框片段我通过下面的代码将其条目抑制为backstack:

if (fragmentManager.getBackStackEntryCount() > 0) {
                    fragmentManager.popBackStack();
                }

现在片段的背压序列是

F1-> F1-> B->一种

我需要的地方

F1-> B-> A

要调用Dialog Fragment的片段代码

ListId sKey = pData.getId();
AppSession sInstance = AppSession.getInstance();
sInstance.setsKey(sKey);
FragmentActivity activity = (FragmentActivity) (getActivity());
FragmentManager fm = activity.getSupportFragmentManager();
ConfirmDialogFragment cd = new ConfirmDialogFragment();
cd.show(fm, "Confirm Fragment");

我尝试过很多东西并阅读相关帖子,但似乎没有任何工作。我不确定我是否遗漏了一些东西。请指教。

0 个答案:

没有答案