(互換性ライブラリを使用)
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;
}
ビューがウィンドウにアタッチされていないためにmViewがnullであるため、呼び出しはfalseを返します。
ダイアログをどのように呼び出すか、またはそのためにダイアログを作成して、フラグメントのルートビューにアタッチする方法についてのアイデアはありますか?または、他にどのように可視性をチェックする必要がありますか?
よろしくお願いします、ピーター。