DatePickerDialog 是 Android 中常用的一个控件,主要是用来让用户可以选择时间。
在本文中,我们构造一个文本输入框和一个按钮,当用户按下按钮时,显示日期选择对话框,用户选择日期并确认后,选择的日期被显示在文本框中。
构造界面
加入文本框和按钮,完整xml定义文件如下:
1 |
|
加入日期选择对话框
Android 已经封装一个 DatePickerDialog 用于选择日期。 其构造函数定义如下:
1 | public DatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) |
其中参数:
context - 上下文,通常给当前Activity的实例
callback - 用户选择完成后的回调函数
year, monthOfYear, dayOfMonth - 这三个参数分别为初始化的年月日
我们将显示日期选择框的代码定义在一个单独的函数中,以便于维护
1 | private void showDatePickDlg() { |
在上面的代码中,我们每次获取系统当前的日期作为初始化的日期。在回调函数中,我们将用户选择的值格式化后赋到文本框,显示给用户。
完整的 MainActivity.java 文件代码如下:
1 | public class MainActivity extends AppCompatActivity { |
在代码中,使用了 butterknife 来简化控件和事件的绑定,如果对这部分内容不熟悉,请参考 在Android中使用注解绑定控件和事件