我的应用程序有一个按钮,当用户按下按钮时显示自定义DialogFragment
。该DialogFragment
是这个样子:如何显示相同的DialogFragment两次或更多
if(searchDialog == null)
{
searchDialog = new SearchElementDialog();
searchDialog.setOnItemClickListener(searchElementItemClickListener);
}
searchDialog.show (getFragmentManager(), "SearchElement");
当用户完成dismiss
被称为以通常的方式和对话被删除。现在,当用户再次按下相同的按钮时,我想要显示相同的对话框,与用户离开它时处于相同的可见状态,调用上面第一个块中的代码显示对话框并恢复其视觉状态,但:
屏幕不会变暗,并且在对话框外部按下不会消除它,并且它在对话框后面的控件也不会响应。
当软键盘进入视图时,对话框不会移动。
第一次显示一切都很好。是否不可能再次显示对话框的相同实例?
恐怕这是行不通的。 getDialog返回null,除非对话框已经可见,所以我不能用它来调用show。如果我调用getDialog()。dismiss()和searchDialog.show(),结果是一样的。 – CurlyPaul 2014-09-03 12:31:22
@CurlyPaul是的,当你实例化它时会自动显示,但是当你用'getDialog()。dismiss()'隐藏时,我确信你可以用'getDialog.show()'稍后显示它。 – Simas 2014-09-03 12:33:45