显示DialogFragment

时间:2015-10-13 08:11:06

标签: android android-fragments android-dialogfragment android-menu

当我在我的应用程序中显示DialogFragment时,MenuActionBar)被清除,并且在被解雇时不再出现。我希望菜单在显示DialogFragment时保持不变(因为对话框后面的所有内容都被禁用)但至少在对话框关闭时重新出现......

Menu以标准方式添加Fragment

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    menu.clear();
    inflater.inflate(R.menu.menu_settings, menu);
}

对话框片段也以非常标准的方式显示。对话框片段不包含任何wierdness(并且没有Menu代码)。

FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.addToBackStack(null);
SingleSettingDialogFragment dialog = SingleSettingDialogFragment.newInstance(...);
dialog.show(transaction, "Single"); 

有没有人知道为什么会发生这种情况或如何解决?

1 个答案:

答案 0 :(得分:0)

我很惊讶没有人似乎遇到过这个问题。问题是transaction.addToBackStack(null);。由于DialogFragments没有暂停调用Fragment,因此该片段也不应该被添加到后栈。这也解决了从对话框中按回来时重复调用片段的问题。