Date

Picker

提供了一个构件去选择一个时间,使用DatePicker构件,该构件允许用户去选择月,日,年在一个界面中。

实例介绍

首先我们应该先创建一个DatePickerDialog,该DatePickerDialog可以在按下一个按钮的时候,启动一个活动的对话框来显示日期的选择。当用户确定选择的日期后,一个TextView会将显示的最新的修改后的时间显示。

1

给main.xml添加一个Button和TextView(代码省略)

效果图

android:id="@+id/dateDisplay

android:id="@+id/pickDate"

a4c26d1e5885305701be709a3d33442f.png

This creates a basic

创建一个具有TextView的布局本件来显示日期和一个按钮来打开绑定一个DataPickerDialog

2

在HelloDatePicker.java

主文件中添加变量

a4c26d1e5885305701be709a3d33442f.png

DATE_DIALOG_ID

是一个静态整型,唯一的定义了一个对话框来显示日期的选择。

3

在确定main.xml设置完毕之后,通过findViewById(int).绑定TexeView和Button。为Button创建一个View.OnClickListener

,当Button控件被点击的时候,设置的监听器将会通过唯一标示的int型的id调用showDialog(int),通过showDialog(int)允许Activity去管理对话框的整个生命周期和调用onCreateDialog(int)

这个回调函数去请求一个即将显示的对话框。当点击监听器被设置的时候,一个新的日期被创建。最后,通过私有的

updateDisplay() 方法的调用去填充TextView中当前信息。

a4c26d1e5885305701be709a3d33442f.png

通过Calendar得到的mYear mMonth

mDay的时间为当前系统时间。进而传递到DataPickerDialog中

onCreateDialog

showDialog(int)之后会调用onCreateDialog

a4c26d1e5885305701be709a3d33442f.png

updateDisplay

填充TextView,月份+1是因为月份是从零开始

a4c26d1e5885305701be709a3d33442f.png

当用户点击Set的时候的回调函数a4c26d1e5885305701be709a3d33442f.png

设置的值为

int year

int monthofYear

int dayofMonth

进而赋值给全局变量,再次调用updateDisplay()更新TextView

我的生日是11月6,当前时间是2012年6月7日,我将当前时间设置为我的生日

a4c26d1e5885305701be709a3d33442f.png

设置后

a4c26d1e5885305701be709a3d33442f.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐