1

我想将一系列 DialogFragments 显示为向导。我用以下代码展示第一个:

DialogFragment newFragment = ConnectDialog.newInstance(Type.SELECT_EVENT);
newFragment.show(getFragmentManager(), "connect");

要从第一个对话框切换到第二个对话框,我使用以下代码:

FragmentTransaction transaction = getFragmentManager().beginTransaction();
DialogFragment newFragment = ConnectDialog.newInstance(Type.SELECT_ACTION);
transaction.remove(ConnectDialog.this);
transaction.add(newFragment, ConnectDialog.this.getTag());
transaction.addToBackStack(null);
transaction.commit();

OnClickListener这段代码在ConnectDialog一个子类中调用DialogFragment

当显示第二个对话框时,必须单击两次硬件后退按钮才能看到第一个对话框。我希望,在单击一个后退按钮后再次显示第一个对话框!我怎样才能做到这一点?

4

1 回答 1

0

不知道为什么,我遇到了同样的情况,我通过替换dialog.dismiss()来解决这个问题fragmentManager.popBackStack();

于 2018-04-28T13:02:43.080 回答