・AlertDialog
まずは標準的なダイアログであるAlertDialogです。

キャプチャ画像を見れば分かりますが、ボタンの並びは左から「否定ボタン」「中立ボタン」「肯定ボタン」になります。
※但し、この並びはAndroidのバージョンで変わる可能性があるので(実際、たしか4.0になった時に否定と肯定の位置が入れ替わってます)、左側ボタンを設定したいからsetNegativeButton()を使うといった実装は止めましょう。
// タイトル、メッセージ、ボタンを設定
AlertDialog.Builder builder = new AlertDialog.Builder(this); // ※thisはActivity自身
builder.setTitle("Alert Dialog") // タイトル
.setMessage("message.") // メッセージ
// 肯定ボタン
.setPositiveButton("Yes", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("YesButtoon clicked in alert dialog.");
}
})
// 否定ボタン
.setNegativeButton("No", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("NoButtoon clicked in alert dialog.");
}
})
// 中立ボタン
.setNeutralButton("Cancel", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("CancelButtoon clicked in alert dialog.");
}
});
// ダイアログを表示
builder.show();
AlertDialog.Builderで各設定を行い、AlertDialog.Builder.show()で表示します。キャプチャ画像を見れば分かりますが、ボタンの並びは左から「否定ボタン」「中立ボタン」「肯定ボタン」になります。
※但し、この並びはAndroidのバージョンで変わる可能性があるので(実際、たしか4.0になった時に否定と肯定の位置が入れ替わってます)、左側ボタンを設定したいからsetNegativeButton()を使うといった実装は止めましょう。
・DatePickerDialog
DatePickerDialogは日付を選択するためのダイアログです。

ダイアログで設定された日付が引数に格納されているので、ここで必要に応じて保存処理等を行います。
// 日付が設定されたときのリスナを定義
OnDateSetListener listener = new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
System.out.println("picked date => " + year + "/" + monthOfYear + "/" + dayOfMonth);
}
};
// 初期表示日付を今日に設定してダイアログを表示
Calendar now = Calendar.getInstance();
new DatePickerDialog(this, // ※thisはActivity自身
listener,
now.get(Calendar.YEAR),
now.get(Calendar.MONTH),
now.get(Calendar.DATE)).show();
onDateSet()はダイアログで「設定ボタン」が押されたときに呼ばれます。ダイアログで設定された日付が引数に格納されているので、ここで必要に応じて保存処理等を行います。
・TimePickerDialog
TimePickerDialogは時刻を選択するためのダイアログです。

コンストラクタの5番目の引数is24HourViewは、24時間表記かどうかを指定します。trueにすると24時間表記、falseにすると12時間表記になります。
// 時間が設定されたときのリスナを定義
OnTimeSetListener listener = new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
System.out.println("picked time => " + hourOfDay + " : " + minute);
}
};
// 初期表示時間を現時刻に設定してダイアログを表示
Calendar now = Calendar.getInstance();
new TimePickerDialog(this, // ※thisはActivity自身
listener,
now.get(Calendar.HOUR_OF_DAY),
now.get(Calendar.MINUTE),
true).show();
基本的にDatePickerDialogと同じです。OnTimeSetListener()はダイアログで「設定ボタン」が押されたときに呼ばれるので、ここで保存処理等を行います。コンストラクタの5番目の引数is24HourViewは、24時間表記かどうかを指定します。trueにすると24時間表記、falseにすると12時間表記になります。
0 件のコメント:
コメントを投稿