TimePickerで以前に選択した値を設定するにはどうすればよいですか?
つまり、TextViewをクリックすると、TimePickerダイアログが表示され、時刻を選択してTextViewに設定します(例:TextViewの午後12時30分)。
その後、時間を変更したい場合は、もう一度TextViewをクリックすると、TimePickerダイアログに前に選択した値が表示されます。したがって、TimePickerは12:30PMを表示する必要があります。
どうやってやるの?
TimePickerで以前に選択した値を設定するにはどうすればよいですか?
つまり、TextViewをクリックすると、TimePickerダイアログが表示され、時刻を選択してTextViewに設定します(例:TextViewの午後12時30分)。
その後、時間を変更したい場合は、もう一度TextViewをクリックすると、TimePickerダイアログに前に選択した値が表示されます。したがって、TimePickerは12:30PMを表示する必要があります。
どうやってやるの?
onCreateDialogを使用してタイムピッカーダイアログを作成して呼び出すと、以前の値が自動的に保存されます。
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
TimePickerDialog timeDlg = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
// TODO Auto-generated method stub
if (hourOfDay > 12) {
hourOfDay = hourOfDay - 12;
time = " PM";
} else if (hourOfDay < 12 && hourOfDay != 0) {
time = " AM";
} else if (hourOfDay == 12) {
time = " PM";
} else if (hourOfDay == 0) {
hourOfDay = 12;
time = " AM";
}
Toast.makeText(
getApplicationContext(),
new StringBuilder().append(pad(hourOfDay))
.append(":").append(pad(minute))
.append(time), Toast.LENGTH_SHORT)
.show();
}
}, 12, 00, false);
timeDlg.setMessage("Set Time:");
timeDlg.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Dismiss",
Toast.LENGTH_SHORT).show();
}
});
return timeDlg;
}
return null;
}
showDialog(id);を使用します。ダイアログを表示します。