(使用兼容性库)
我已经实现了一个带有扩展 DialogFragment 的对话框。 我在 onCreateDialog 中使用 AlertDialog.Builder 创建对话框(未使用 onCreateView)。
在我的 fragment 中,我通过以下方式调用对话框:
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 为空,因为 View 未附加到窗口。
关于我应该如何调用该对话框或为此创建它以使其附加到 fragment 的 Root View 的任何想法?或者我还应该如何检查可见性?
提前致谢,彼得。
最佳答案
您可以通过以下函数确定对话框 fragment 是否正在显示:
boolean isShowing(DialogFragment dlg)
{
return dlg.getDialog() != null;
}
关于android - 使用 onCreateDialog 创建时,DialogFragment 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5994611/