/var/log/messages

debugging with sixth sense

Dialog から設定値入力させて Alert 表示後に両方 Dismiss

DialogFragment から DialogFragment 表示するような真似をしてまして、一つは dismiss できるけどもう一つが、な現象が出てしまいハマってました。

ダイアログが重ならないように制御する にて以下な対処が紹介されており、これでイケました。

FragmentManager manager = getFragmentManager();
final HogeDialogFragment prev = (HogeDialogFragment)manager.findFragmentByTag("hoge_dialog");
prev.dismiss();

実装てきには HogeDialogFragment で入力された値のチェックをして異常であれば AlertDialog を出す形。AlertDialog な DialogFragment のボタンクリックにて

dialog.dismiss();
((FugaActivity)getActivity()).dismissHogeDialog();

みたいな形で Activity で定義してるメソド呼び出してその中で上記な処理を記述しています。設定値の更新などは AlertDialog な DialogFragment 側でヤッてます。

それにしてもなんとなく滅茶苦茶な事してる感がナニ。

Comments