使用onCreateDialog创建时,DialogFragment看不到可见

时间:2011-05-13 16:00:03

标签: android android-fragments android-3.0-honeycomb

(使用兼容性库)

我已经使用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,因为视图未附加到窗口。

关于我应该如何调用对话框或者为此创建它的任何想法,以便它附加到片段的根视图?或者我应该如何检查可见性?

先谢谢,彼得。

1 个答案:

答案 0 :(得分:4)

您可以通过以下函数确定是否显示对话框片段:

boolean isShowing(DialogFragment dlg)
{
   return dlg.getDialog() != null;
}