DatePickerDialog 适合传统 View 项目中的单次日期输入。示例以当前日期作为默认值;月份参数和回调中的 monthOfYear 都从 0 开始。
创建并显示日期选择器

1 2 3 4 5 6 7 8 9
| Calendar calendar = Calendar.getInstance(); new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) { String value = year + "/" + (monthOfYear + 1) + "/" + dayOfMonth; Toast.makeText(MainActivity.this, value, Toast.LENGTH_SHORT).show(); } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
|
使用边界
- 需要选择日期与时间时,应组合
DatePickerDialog、TimePickerDialog,或使用项目已接入的 Material 日期组件。
- 业务层建议保存 ISO 8601 日期或时间戳,不要依赖展示字符串参与比较。
- Activity 重建时,应保存已经选择的日期,避免用户旋转屏幕后丢失输入。
相关阅读