Android(安卓)ApiDemos示例解析(110):Views->Data Widgets->1. Dialog
本例介绍了日期DatePickerDialog和时间对话框TimePickerDialog的用法,可以获取时间或日期输入。
DatePickerDialog和TimePickerDialog都是AlertDialog的子类,因此和Alert的使用步骤基本一致: Android ApiDemos示例解析(22):App->Dialog
Data Widgets->1. Dialog_第1张图片" style="border:1px solid black;">
1. 定义存储日期和时间的变量
// date and timeprivate int mYear;private int mMonth;private int mDay;private int mHour;private int mMinute;
2. 为日期和时间对话框定义ID
static final int TIME_DIALOG_ID = 0;static final int DATE_DIALOG_ID = 1;
3. 在Activity的onCreateDialog事件中初始化对话框
switch (id) { case TIME_DIALOG_ID: return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false); case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);}
4. 应用中可以多次显示时间或日期对话框,前面在onCreateDialog初始化对话框,在每次重新显示对话框前,可以在onPrepareDialog 重新设置对话框的值,本例使对话框显示当前屏幕显示的时间和日期值。
switch (id) { case TIME_DIALOG_ID: ((TimePickerDialog) dialog) .updateTime(mHour, mMinute); break; case DATE_DIALOG_ID: ((DatePickerDialog) dialog) .updateDate(mYear, mMonth, mDay); break;}
5. 构造函数定义
本例TimePickerDialog使用的构造函数定义如下:
public TimePickerDialog(Context context,
TimePickerDialog.OnTimeSetListener callBack,
int hourOfDay,
int minute, boolean is24HourView)
- hourOfDay 小时
- int minute 分钟
- is24HourView 是否采用24小时制
- callback ,用户选择好时间后,通知应用的回调函数,其类型为TimePickerDialog.OnTimeSetListener,可以用来取得当前时间对话框中的时间:
private TimePickerDialog.OnTimeSetListener mTimeSetListener =new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mHour = hourOfDay; mMinute = minute; updateDisplay(); }};
DatePickerDialog 本例使用的构造函数如下:
public DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
year 年
monthOfYear 月
dayOfMonth 日
callBack 用户选择好日期后,通知应用的回调函数,其类型为TimePickerDialog.OnTimeSetListener,可以用来取得当前时间对话框中的日期:
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mHour = hourOfDay; mMinute = minute; updateDisplay(); } };
Data Widgets->1. Dialog_第2张图片" style="border:1px solid black;">
更多相关文章
- Android(安卓)简单自定义对话框:语言切换
- 关于android中alarm的使用
- Android(安卓)常用的性能分析工具详解:GPU呈现模式, TraceView, S
- android Chronometer 时间计时控件 简单介绍
- Android(安卓)App 启动过程分析
- android自定义dialog弹出框、透明背景
- android实现双击事件监听
- android 获得一个应用程序的启动次数,运行时间等信息
- Android(安卓)7.0修改系统时间