AlertDialog種類(1)
画面上にダイアログを表示させるAlertDialogの使い方を紹介します。
AlertDialogクラスはダイアログの一つで簡単なメッセージとボタンを表示するダイアログです。
使い方によっていろんなパターンのダイアログを表示できます。
どんなパターンがあるのかちょっと調べてみました。
タイトルとメッセージのみ表示
バックボタン押下でダイアログが閉じます。
AlertDialog.Builder alert01 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert01.setTitle("ここにタイトルを設定");
//ダイアログメッセージをセット
alert01.setMessage("ここにメッセージを設定");
//ダイアログ表示
alert01.show();
OKボタンダイアログ
バックボタン押下でダイアログが閉じます。OKボタン押下でダイアログが閉じます。
AlertDialog.Builder alert02 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert02.setTitle("ここにタイトルを設定");
//ダイアログメッセージをセット
alert02.setMessage("ここにメッセージを設定");
// ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert02.setPositiveButton("OK", null);
//ダイアログ表示
alert02.show();
OK/Noボタンダイアログ
バックボタン押下でダイアログが閉じます。OKボタン押下でボタンクリックリスナーが発生します。
NOボタン押下でボタンクリックリスナーが発生します。
AlertDialog.Builder alert03 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert03.setTitle("ここにタイトルを設定");
//ダイアログメッセージをセット
alert03.setMessage("ここにメッセージを設定");
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert03.setPositiveButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//OKボタンが押された時の処理
Toast.makeText(MainActivity.this, "OK選択", Toast.LENGTH_LONG).show();
}});
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
aalert03.setNegativeButton("NO", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//NOボタンが押された時の処理
Toast.makeText(MainActivity.this, "NO選択", Toast.LENGTH_LONG).show();
}});
Android4.0のデザイン規約で、肯定的なアクションボタンは右側に、
否定的なアクションボタンは左側に置くように統一されたみたいです。
OK/No/Cancelボタンダイアログ
バックボタン押下でダイアログが閉じます。OKボタン押下でボタンクリックリスナーが発生します。
NOボタン押下でボタンクリックリスナーが発生します。
Cancelボタン押下でボタンクリックリスナーが発生します。
AlertDialog.Builder alert04 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert04.setTitle("ここにタイトルを設定");
//ダイアログメッセージをセット
alert04.setMessage("ここにメッセージを設定");
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert04.setPositiveButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//OKボタンが押された時の処理
Toast.makeText(MainActivity.this, "OK選択", Toast.LENGTH_LONG).show();
}});
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert04.setNeutralButton("NO", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//NOボタンが押された時の処理
Toast.makeText(MainActivity.this, "NO選択", Toast.LENGTH_LONG).show();
}});
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert04.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//Cancelボタンが押された時の処理
Toast.makeText(MainActivity.this, "Cancel選択", Toast.LENGTH_LONG).show();
}});
リストを表示させるダイアログ
setItemsメソッドを使って、ダイアログにリストを表示させる事ができます。選択可能なアイテムのリストを作成し、表示するアイテムの配列と
ユーザがアイテムを選択したときのアクションを受け取ることを定義するための
DialogInterface.OnClickListener を与えます。
バックボタン押下でダイアログが閉じます。
final CharSequence[] Items = { "00001", "00002", "00003"};
alert05 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert05.setTitle("ここにタイトルを設定");
// 表示項目とリスナの設定
alert05.setItems(Items, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//リストを選択した時のみ
Toast.makeText(MainActivity.this, String.format("%s Selected", Items[which]), Toast.LENGTH_LONG).show();
}});
// back keyを使用不可に設定
alert05.setCancelable(false);
チェックボックス付きリストを表示させるダイアログ
setMultiChoiceItemsメソッドを使って、複数選択できるチェックボックス付きのリストを表示することができます。第1引数にはリストに表示する項目の配列、第2引数には選択するチェックボックスの初期値を設定します。
OKボタン押下でボタンクリックリスナーが発生します。
Cancelボタン押下でボタンクリックリスナーが発生します。
final CharSequence[] Items2 = { "00001", "00002", "00003"};
final boolean[] checkedItems = {true, false, true};
alert06 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert06.setTitle("ここにタイトルを設定");
//選択時のイベント処理作成
DialogInterface.OnMultiChoiceClickListener sl = new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1, boolean arg2) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, String.format("%s Selected", Items2[arg1]), Toast.LENGTH_LONG).show();
}
};
// 表示項目とリスナの設定
alert06.setMultiChoiceItems(Items2, checkedItems, sl);
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert06.setPositiveButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//OKボタンが押された時の処理
Toast.makeText(MainActivity.this, "OK選択", Toast.LENGTH_LONG).show();
}});
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert06.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//Cancelボタンが押された時の処理
Toast.makeText(MainActivity.this, "Cancel選択", Toast.LENGTH_LONG).show();
}});
// back keyを使用不可に設定
alert06.setCancelable(false);
ラジオボタン付きリストを表示させるダイアログ
setSingleChoiceItemsメソッドを使って、ダイアログにラジオボタン付きのリストを表示できます。第1引数にはリストに表示する項目の配列、第2引数には選択するラジオボタンの初期値を指定します。
初期値に-1を選択すると何も選択されません。
OKボタン押下でボタンクリックリスナーが発生します。
Cancelボタン押下でボタンクリックリスナーが発生します。
final CharSequence[] Items3 = { "00001", "00002", "00003"};
alert07 = new AlertDialog.Builder(this);
//ダイアログタイトルをセット
alert07.setTitle("ここにタイトルを設定");
// 表示項目とリスナの設定
alert07.setSingleChoiceItems(Items3, 1, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//OKボタンが押された時の処理
Toast.makeText(MainActivity.this, String.format("%s Selected", Items3[which]), Toast.LENGTH_LONG).show();
}});
alert07.setPositiveButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//OKボタンが押された時の処理
Toast.makeText(MainActivity.this, "OK選択", Toast.LENGTH_LONG).show();
}});
// アラートダイアログのボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alert07.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//Cancelボタンが押された時の処理
Toast.makeText(MainActivity.this, "Cancel選択", Toast.LENGTH_LONG).show();
}});
// back keyを使用不可に設定
alert07.setCancelable(false);
カテゴリーへ