【Android】DialogFragmentのdismissで落ちるときの対策
こんにちは。
これまでDialogFragmentについて何回か触れてきましたが、どうもたまに dismiss で落ちることがあるようです。
DialogFragmentの表示を消すときは、基本的に以下のようにして消していました。
if (dialogFragment.getShowsDialog() && dialogFragment != null) dialogFragment.getDialog().dismiss(); // ここで落ちる
上記のようにすると、コメントのある行で NullPointerException が起きてしまします。 どうやら、dialogFragment.getDialog() がNullなようです。 なぜNullになってしまうのかは不明ですが、とりあえず下記のようにして解決出来ました。
if (dialogFragment.getShowsDialog() && dialogFragment != null) dialogFragment.onDismiss(dialogFragment.getDialog());;
こちらのエントリーを参考にさせて頂きましたが、結構困っていたので本当に助かりました!
今後は上記のように onDismiss を使っていきたいと思います。
今回は以上です。 それでは。