Android SDK Tutorials系列 - Hello Views - Date Picker
Android SDK Tutorials系列 - Hello Views - Date Picker
Date Picker
可以用DatePicker窗口小部件来选择日期,用户可以选择年月日。
本教程里,你将创建一个DatePickerDialog对话框,点击按钮会弹出一个悬浮的日期选择器对话框。当用户设置日期以后,一个TextView会显示刚设置的日期。
创建一个工程:HelloDatePicker.
打开 res/layout/main.xml 并修改如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView android:id="@+id/dateDisplay"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text=""/>
- <Button android:id="@+id/pickDate"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Change the date"/>
- </LinearLayout>
采用LinearLayout布局,里面用一个TextView来显示日期,和一个Button,点击它会打开DatePickerDialog对话框。
打开HelloDatePicker.java ,添加下列成员变量:
- private TextView mDateDisplay;
- private Button mPickDate;
- private int mYear;
- private int mMonth;
- private int mDay;
- static final int DATE_DIALOG_ID = 0;
第一组变量定义了界面里的View(TextView、Button)以及日期的年月日。静态整数DATE_DIALOG_ID 是Dialog的ID,用来创建日期选择器。
修改onCreate() 方法如下:
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // capture our View elements
- mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
- mPickDate = (Button) findViewById(R.id.pickDate);
- // add a click listener to the button
- mPickDate.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- showDialog(DATE_DIALOG_ID);
- }
- });
- // get the current date
- final Calendar c = Calendar.getInstance();
- mYear = c.get(Calendar.YEAR);
- mMonth = c.get(Calendar.MONTH);
- mDay = c.get(Calendar.DAY_OF_MONTH);
- // display the current date (this method is below)
- updateDisplay();
- }
首先,加载main.xml布局文件。然后使用findViewById(int)来引用TextView和Button。
然后为Button设置一个 View.OnClickListener点击事件监听器,当Button被点击后,showDialog(int)方法会被调用,该方法创建一个ID为DATE_DIALOG_ID的日期选择器对话框。
showDialog(int)方法让当前Activity管理对话框的生命周期,同时调用onCreateDialog(int) (将在下一步定义)回调函数显示对话框。
在设置点击事件监听器以后,创建一个Calendar对象,读取当前年、月、日。最后,调用updateDisplay() 方法,让TextView显示当前日期。
|
评论暂时关闭