首页 > 代码库 > Android开发之DatePickerDialog与TimePickerDialog的功能和用法详解
Android开发之DatePickerDialog与TimePickerDialog的功能和用法详解
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 } }