<< Android-Note
ダイアログのボタンの無効化
ダイアログを表示して、なにか操作が完了するまでAlertDialog(アラートダイアログ)下にあるボタンを無効にしたいときは次のようなコードで無効化できます。
AlertDialog.Builder builder = new AlertDialog.Builder(this); LayoutInflater inflater = LayoutInflater.from(this); final View dialogView = inflater.inflate(R.layout.my_dlg, null); builder.setView(dialogView) .setTitle(R.string.dlg_title) .setPositiveButton(R.string.dlg_ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { /*何か処理*/ } }); AlertDialog dialog = builder.create(); dialog.show(); Button OKButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE); //OKボタンを取得
getButtonに取得したいボタンの定数を渡せばOKです。取得可能なボタンは次の3種類です。
- AlertDialog.ButtonPositive
- AlertDialog.ButtonNegative
- AlertDialog.ButtonNeutral
ただし、ダイアログをshowメソッドで表示してからでないとこのメソッドは利用できません。
ボタン表示前にボタンを取得しようとするとエラーになるので注意です。
また、このメソッドはAPIレベルが3以上必要です。
© Kaz