Android开发实战:DatePickerDialog与TimePickerDialog详解

0 下载量 87 浏览量 更新于2024-09-03 1 收藏 75KB PDF 举报
"Android开发之DatePickerDialog、TimePickerDialog时间日期对话框用法示例" 在Android应用开发中,经常需要处理用户的日期和时间选择。这时,`DatePickerDialog`和`TimePickerDialog`就成为了非常实用的组件。这两个对话框允许用户在弹出的窗口中选择日期和时间,而无需离开当前界面。下面我们将详细讲解如何在Android中使用这两个对话框。 首先,`DatePickerDialog`用于展示日期选择器,用户可以选择年、月、日。创建一个`DatePickerDialog`实例,需要以下步骤: 1. 获取当前日期:通常通过`Calendar.getInstance()`获取当前日期对象。 2. 创建`DatePickerDialog`:使用`new DatePickerDialog(Context, DatePickerDialog.OnDateSetListener, int, int, int)`构造函数。参数包括上下文、日期设置监听器以及当前年、月、日。 3. 设置监听器:`DatePickerDialog.OnDateSetListener`接口提供了`onDateSet(DatePicker view, int year, int month, int dayOfMonth)`方法,当用户选择日期后会回调这个方法。 4. 显示对话框:调用`DatePickerDialog.show()`方法将对话框展示给用户。 示例代码如下: ```java Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) { // 在这里处理用户选择的日期 } }, year, month, day); datePickerDialog.show(); ``` 对于`TimePickerDialog`,它的使用方式与`DatePickerDialog`类似,但提供的是小时和分钟的选择: 1. 获取当前时间:同样可以通过`Calendar.getInstance()`获取。 2. 创建`TimePickerDialog`:使用`new TimePickerDialog(Context, TimePickerDialog.OnTimeSetListener, int, int, boolean)`构造函数,参数包括上下文、时间设置监听器、小时、分钟以及是否24小时制。 3. 设置监听器:`TimePickerDialog.OnTimeSetListener`接口提供了`onTimeSet(TimePicker view, int hourOfDay, int minute)`方法,用户选择时间后会触发。 4. 显示对话框:调用`TimePickerDialog.show()`。 示例代码如下: ```java Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) { // 在这里处理用户选择的时间 } }, hour, minute, false); // 假设我们使用12小时制 timePickerDialog.show(); ``` 在实际应用中,你可能需要根据需求自定义这些对话框的样式或行为,例如更改日期和时间格式、设置默认值等。可以通过重写`DatePickerDialog`和`TimePickerDialog`的子类,或者使用自定义布局来实现这些功能。 `DatePickerDialog`和`TimePickerDialog`是Android开发中处理日期和时间选择的标准组件,它们简单易用,能够快速集成到你的应用程序中,为用户提供直观的日期和时间选择体验。通过上述步骤,你可以轻松地在你的Android应用中实现日期和时间的选取功能。
2019-07-10 上传
通过这个例子我们主要是学习Android中DatePickerDialog日期选择器组件、TimePickerDialog时间选择组件的用法,里面给出了两个演示,单击对应的按钮可演示具体效果。DatePickerDialog组件、TimePickerDialog组件的具体用法写入了两个按钮监听事件中,以下是部分代码段:   case DATE_DIALOG://生成日期对话框的代码    c=Calendar.getInstance();//获取日期对象    dialog=new DatePickerDialog(//创建DatePickerDialog对象    this,    new DatePickerDialog.OnDateSetListener(){//创建OnDateSetListener监听器   @Override   public void onDateSet(DatePicker dp, int year, int month,int dayOfMonth) {    EditText et = (EditText)findViewById(R.id.et);    et.setText("您选择了:" year "年" month "月" dayOfMonth "日");   }   },   c.get(Calendar.YEAR),//传入年份   c.get(Calendar.MONTH), //传入月份   c.get(Calendar.DAY_OF_MONTH) //传入天数   case TIME_DIALOG://生成时间对话框的代码   c=Calendar.getInstance();//获取日期对象   dialog=new TimePickerDialog(//创建TimePickerDialog对象   this,   new TimePickerDialog.OnTimeSetListener(){ //创建OnTimeSetListener监听器   @Override   public void onTimeSet(TimePicker tp, int hourOfDay, int minute) {    EditText et = (EditText)findViewById(R.id.et);    et.setText("您选择了:" hourOfDay "时" minute "分");//设置EditText控件的属性   }   },   c.get(Calendar.HOUR_OF_DAY),//传入当前小时数   c.get(Calendar.MINUTE), //传入当前分钟数   false