当我在我的应用程序中显示DialogFragment
时,Menu
(ActionBar
)被清除,并且在被解雇时不再出现。我希望菜单在显示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");
有没有人知道为什么会发生这种情况或如何解决?
答案 0 :(得分:0)
transaction.addToBackStack(null);
。由于DialogFragments没有暂停调用Fragment,因此该片段也不应该被添加到后栈。这也解决了从对话框中按回来时重复调用片段的问题。