◯alaxy S4の罠?
オワリークリスマス。
DialogFragmentでバックキーとか、黒背景タップでキャンセルするときに、
Dialog#setCancelable(false)ではなくて、DialogFragment#setCancelable(false)的な話はあるあるです。
これで全て解決してくれるものだと、勝手に思ってたんですが、現実そんな甘くなかったでした。
◯alaxy S4だけねw
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { setCancelable(false); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); ... return builder.create(); }
よく上記のコードで終了するケースがあると思うのですが、S4では一味加えます。
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { setCancelable(false); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); ... Dialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(true);// <- ココ重要 return dialog; }
端末によって初期値ちゃうんですね。。
以上。