2014年6月21日土曜日

Android - AlertDialog の OK ボタンや Cancel ボタンが押された時にダイアログを閉じない


このエントリーをはてなブックマークに追加
参考 : How to prevent a dialog from closing when a button is clicked

OK ボタンを押した時に入力内容をチェックして、入力内容が不正であればダイアログを閉じずに Toast を出すなどの処理をしたい場合に。
参考先の一番上の方法がわかりやすく使い勝手が良さそうだった。

  1. AlertDialog.Builder の setPositiveButton や setNegativeButton の Listner には null を登録する
  2. Builder.create() で AlertDialog を作成
  3. AlertDialog.setOnShowListener で OnShowListener を登録。onShow の中で、AlertDialog.getButton(AlertDialog.BUTTON_POSITIVE) などで Button を取得。
  4. Button.setOnClickListener でボタンが押された時の処理を登録。閉じる場合は AlertDialog.dismiss() を呼ぶ。

0 件のコメント:

コメントを投稿