(使用兼容性库)
我已经使用extends DialogFragment实现了一个对话框。 我在onCreateDialog中使用AlertDialog.Builder创建对话框(不使用onCreateView)。
在我的片段中,我使用以下命令调用对话框:
dlg.show(getFragmentManager(), tag);
然而,当我来检查可见性时,一旦对话清晰可见,使用
dlg.isVisible();
返回false。
现在,以下是兼容性源代码中的Fragment :: isVisible代码。
final public boolean isVisible() {
return isAdded() && !isHidden() && mView != null
&& mView.getWindowToken() != null && mView.getVisibility() == View.VISIBLE;
}
调用返回false,因为mView为null,因为视图未附加到窗口。
关于我应该如何调用对话框或者为此创建它的任何想法,以便它附加到片段的根视图?或者我应该如何检查可见性?
先谢谢,彼得。
答案 0 :(得分:4)
您可以通过以下函数确定是否显示对话框片段:
boolean isShowing(DialogFragment dlg)
{
return dlg.getDialog() != null;
}