(Используя библиотеку совместимости)
Я реализовал диалог с расширением DialogFragment. Я создаю диалог с помощью AlertDialog.Builder в onCreateDialog (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, потому что представление не прикреплено к окну.
Любые идеи относительно того, как я должен вызывать диалог или создавать его в этом отношении, чтобы он был прикреплен к корневому представлению фрагмента? Или как еще я должен проверять видимость?
Заранее спасибо, Питер.