DatePickerDialog与TimePickerDialog的功能比较简单,用法也很简单,只要下面两步即可。
Ø 通过new关键字创建DatePickerDialog、TimePickerDialog实例,调用它们的show()方法即可将日期选择对话框、时间选择对话框显示出来。
Ø 为DatePickerDialog、TimePickerDialog绑定监听器,这样可以保证用户通过DatePickerDialog、TimePickerDialog设置事件是触发监听器,从而通过监听器来获取用户设置的事件。
TimePickerDialog(时间选择对话框)
概述:
一个使用TimePicker的对话框,为用户提供时间选择。
类结构:
java.lang.Object
↳ android.app.Dialog
↳ android.app.AlertDialog
↳ android.app.TimePickerDialog
构造方法:
Public Constructors |
| |
TimePickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) | ||
TimePickerDialog(Context context, int theme, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) |
说明:
public TimePickerDialog (Context context, TimePickerDialog.OnTimeSetListener callBack,inthourOfDay, int minute, boolean is24HourView)
参数:
参数 | 说明 |
Context | 运行组件的Activity。 |
callBack | 用户选择好时间后,通知应用的回调函数。 |
hourOfDay | 初始的小时。 |
Minute | 初始的分钟。 |
is24HourView | 是否使用24小时制。 |
public TimePickerDialog (Context context,int teme, TimePickerDialog.OnTimeSetListener callBack,int hourOfDay, int minute, boolean is24HourView)
参数:
参数 | 说明 |
Context | 运行组件的Activity。 |
teme | 应用在时间选择对话框上的主题。 |
callBack | 用户选择好时间后,通知应用的回调函数。 |
hourOfDay | 初始的小时。 |
Minute | 初始的分钟。 |
is24HourView | 是否使用24小时制。 |
公有方法:
Public Methods | |
void | onClick(DialogInterface dialog, int which) 当对话框上的按钮被单击时这个方法将被回调。 |
void | onRestoreInstanceState(Bundle savedInstanceState) 从前一个保存的bundle 中恢复对话框的状态。 |
Bundle | onSaveInstanceState() 将对话框的状态保存到bundle 中. |
void | onTimeChanged(TimePicker view, int hourOfDay, int minute) 当时间被关改变的时候回调该方法。 |
void | updateTime(int hourOfDay, int minutOfHour) 更新时间 |
实例:
public static class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Do something with the time chosen by the user
}
}
DatePickerDialog(时间选择对话框)
概述:
一个带有的DatePicker的简单对话框,为用户提供日期选择。
类结构:
java.lang.Object
↳ android.app.Dialog
↳ android.app.AlertDialog
↳ android.app.DatePickerDialog
构造方法:
Public Constructors | |
DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) | |
DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) |
说明:
public DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, intdayOfMonth)
参数:
参数 | 说明 |
Context | 运行组件的Activity。 |
callBack | 用户选择好日期后,通知应用的回调函数。 |
year | 初始的年。 |
monthOfYear | 初始的月。 |
dayOfMonth | 初始的天。 |
public DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, intdayOfMonth)
参数:
参数 | 说明 |
Context | 运行组件的Activity。 |
theme | 应用在日期选择对话框上的主题。 |
callBack | 用户选择好日期后,通知应用的回调函数。 |
year | 初始的年。 |
monthOfYear | 初始的月。 |
dayOfMonth | 初始的天。 |
公有方法:
Public Methods | |
DatePicker | getDatePicker() 获取日期选择对话框。 |
void | onClick(DialogInterface dialog, int which) 当对话框上的按钮被单击时这个方法将被回调。 |
void | onDateChanged(DatePicker view, int year, int month, int day) 当日期改变的时候回调该方法。 |
void | onRestoreInstanceState(Bundle savedInstanceState) 当对话框上的按钮被单击时这个方法将被回调。 |
Bundle | onSaveInstanceState() 将对话框的状态保存到bundle 中。 |
void | updateDate(int year, int monthOfYear, int dayOfMonth) 设置当前日期。 |
实例:
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
}
}