今回はダイアログを表示してみようと思います。
ダイアログはエラー時やユーザに操作をしてほしい際によく使用します。
知っておくと便利です。
ダイアログを表示する
まずダイアログを表示します。(筆者はAcitivtyクラスで記述しています)
// ダイアログを表示する
new AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.create()
.show();
// ダイアログを表示する
AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.create()
.show()
setTitle()の説明
setTitleに指定した文字列がAlertDialogのタイトル部分に表示されます。
※ちなみに文字列が3行以上になると強制的に2行になります。(2行目以降は...
表示)
setMessage()の説明
setMessageに指定した文字列がAlertDialogのメッセージ部分に表示されます。
show()の説明
showメソッドをコールするとAlertDialogが画面に表示されます。
ダイアログにOKボタンを表示する
ダイアログが表示できれば次はOKボタンも表示してみましょう
ユーザに処理を続けて良いか受け入れてもらうためにOKボタンを表示します。
// ダイアログを表示する
new AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK", (dialog, which) -> {
// OKボタン押下時に実行したい処理を記述
})
.create()
.show();
// ダイアログを表示する
AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK") { dialog, which ->
// OKボタン押下時に実行したい処理を記述
}
.create()
.show()
setPositiveButton()の説明
引数の型 | 説明 | |
第一引数 | CharSequence | ボタンに表示する文字列 |
第二引数 | DialogInterface.OnClickListener | ボタン押下時に実行する処理 |
これでOKボタンが表示できましたね!
ダイアログにキャンセルボタンを表示する
続いてはキャンセルボタンも表示しましょう!
ユーザが許可 or 拒否を選択できるようになります。
// ダイアログを表示する
new AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK", (dialog, which) -> {
// OKボタン押下時に実行したい処理を記述
})
.setNegativeButton("キャンセル", (dialog, which) -> {
// キャンセルボタン押下時に実行したい処理を記述
})
.create()
.show();
// ダイアログを表示する
AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK") { dialog, which ->
// OKボタン押下時に実行したい処理を記述
}
.setNegativeButton("キャンセル") { dialog, which ->
// キャンセルボタン押下時に実行したい処理を記述
}
.create()
.show()
setNegativeButton()の説明
引数の型 | 説明 | |
第一引数 | CharSequence | ボタンに表示する文字列 |
第二引数 | DialogInterface.OnClickListener | ボタン押下時に実行する処理 |
ダイアログにまた後でボタンを表示する
ユーザに許可 or 拒否が選択できるようになりましたが
許可も拒否も選択したくない場合があります。
そういう場合はまた後でボタンを表示して回避しましょう!
// ダイアログを表示する
new AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK", (dialog, which) -> {
// OKボタン押下時に実行したい処理を記述
})
.setNegativeButton("キャンセル", (dialog, which) -> {
// キャンセルボタン押下時に実行したい処理を記述
})
.setNeutralButton("また後で", (dialog, which) -> {
// また後でボタン押下時に実行したい処理を記述
})
.create()
.show();
// ダイアログを表示する
AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK") { dialog, which ->
// OKボタン押下時に実行したい処理を記述
}
.setNegativeButton("キャンセル") { dialog, which ->
// キャンセルボタン押下時に実行したい処理を記述
}
.setNeutralButton("また後で") { dialog, which ->
// また後でボタン押下時に実行したい処理を記述
}
.create()
.show()
setNeutralButton()の説明
引数の型 | 説明 | |
第一引数 | CharSequence | ボタンに表示する文字列 |
第二引数 | DialogInterface.OnClickListener | ボタン押下時に実行する処理 |
ダイアログ外タップ、バックキーでダイアログを閉じないようにする
AlertDialogはデフォルトでダイアログ外タップ、バックキーでが閉じてしまいます。
アプリの仕様によって閉じたくない場合は下記の処理を記述します。
// ダイアログを表示する
new AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK", (dialog, which) -> {
// OKボタン押下時に実行したい処理を記述
})
.setCancelable(false) <- ダイアログ外タップ、バックキーでダイアログを閉じないようにする
.create()
.show();
}
// ダイアログを表示する
AlertDialog.Builder(this)
.setTitle("タイトル")
.setMessage("メッセージ")
.setPositiveButton("OK") { dialog, which ->
// OKボタン押下時に実行したい処理を記述
}
.setCancelable(false)
.create()
.show()
setCancelable()の説明
引数型 | 説明 | |
第一引数 | Boolean | falseにするとダイアログ外タップ、バックキーでダイアログを閉じないようになる |
最後に
いかがでしたでしょうか
AlertDialogでダイアログが表示できるようになります。
それでは!
コメント
[…] 前回は、AlertDialogを表示する事を実施しました。 […]