带DialogFragments的向导:为什么从Backstack弹出Dialog需要两次单击后退按钮?

时间:2013-01-30 10:44:22

标签: android back-button android-dialogfragment back-stack

我想将一系列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内调用,{{1}}是{{1}}的子类。

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

1 个答案:

答案 0 :(得分:0)

不确定原因,我遇到了同样的情况,并通过将bmd-label-floating替换为<form>

来解决这个问题