ホーム > プログラミング > Android プログラミング > AlertDialogのボタンを押したときに、閉じる、閉じないをコントロールするには

AlertDialogのボタンを押したときに、閉じる、閉じないをコントロールするには

解説

AlertDialog.Builderクラスを使用すると、簡単にダイアログを作成することができます。

AlertDialog.Builderクラスには、setPositiveButton、setNegativeButtonというボタンを設置することができる関数が用意されています。

setPositiveButton、setNegativeButtonでは、ボタンに表示するテキストと、ボタンを押したときに通知するリスナーを引数で指定します。

setPositiveButton、setNegativeButtonで指定したリスナーでは、ボタンを押したときに、ダイアログを閉じる、ダイアログを閉じない、をコントロールすることはできません。必ず、閉じてしまいます。

ボタンを押したときに、ダイアログを閉じる、ダイアログを閉じない、をコントロールするには、ボタンオブジェクトを取得し、ボタンオブジェクトに直接リスナーを登録します。

サンプルコード

実行

Android Virtual Device にて、動作確認。

起動直後


「ダイアログ表示」ボタンを押すと、「Dialog Close Control」ダイアログが表示される。


エディットボックスに何も入力しないで、「OK」ボタンを押すと、「Please enter some text.」というトーストが表示され、ダイアログは、閉じずに、表示されたまま。


エディットボックスにテキストを入力し、「OK」ボタンを押すと、ダイアログは閉じられ、入力したテキストがトースト表示される。

ダウンロード

サンプルプロジェクト


ご意見、ご感想、ご質問、ご要望等は、「コメントを投稿する」もしくは「ホーム > コンタクト」よりお願いいたします。
内容の誤り、誤字脱字、リンクミスなどの問題点を発見された場合には「コメントを投稿する」もしくは「ホーム > コンタクト」より連絡していただけると幸いです。


Copyright (c) 2005-2018 Nobuki HIRAMINE All rights reserved.