Android--DataPicker用法

DatePicker是一个时钟控件,用于设置系统或软件的时间的一个对话框。

 

 

具体开发步骤:

第一步:strings.xml中定义要用到的文字(方便国际化)

 

 

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <resources>   
  3. <string name="hello">Hello World, MainActivity!</string>   
  4. <string name="app_name">datepicker</string>   
  5. <string name="picker">设置日期</string>   
  6. </resources>  
  7. 第二步:main.xml文件中定义一个Button控件,文本显示'设置日期'(当单击button按钮时,DatePicker控件出现)   
  8. <?xml version="1.0" encoding="utf-8"?>   
  9. <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android   
  10. android:orientation="vertical"   
  11. android:layout_width="fill_parent"   
  12. android:layout_height="fill_parent"   
  13. >   
  14.     <TextView   
  15.      android:layout_width="fill_parent"   
  16.      android:layout_height="wrap_content"   
  17.      android:text="@string/hello"   
  18.      />   
  19.      <!-- 单击按钮时,要求DatePicker对话框出现 -->   
  20.      <Button   
  21.      android:id="@+id/btn"   
  22.      android:layout_width="wrap_content"   
  23.      android:layout_height="wrap_content"   
  24.      android:text="@string/picker"   
  25.      />   
  26. </LinearLayout>   
  27.  
  1. 第三步:MainActivity中的代码:   
  2. package com.zwy.datepicker.activity;   
  3. import android.app.Activity;   
  4. import android.app.DatePickerDialog;   
  5. import android.app.Dialog;   
  6. import android.app.DatePickerDialog.OnDateSetListener;   
  7. import android.os.Bundle;   
  8. import android.view.View;   
  9. import android.view.View.OnClickListener;   
  10. import android.widget.Button;   
  11. import android.widget.DatePicker;   
  12. import android.widget.Toast;   
  13. public class MainActivity extends Activity {  
  14.     private Button btnDate=null;   
  15.     private static final int DATE_PICKER_ID=1;//该常量用于标识DatePickerDialog  
  16.     public void onCreate(Bundle savedInstanceState) {   
  17.  
  18.     super.onCreate(savedInstanceState);   
  19.  
  20.      setContentView(R.layout.main);   
  21.              btnDate=(Button)findViewById(R.id.btn);   
  22.      btnDate.setOnClickListener(listener);   
  23.  
  24. }   
  25.  
  26. //单击button按钮显示日期设置对话框   
  27. private OnClickListener listener=new OnClickListener() {   
  28.     public void onClick(View v) {   
  29.         showDialog(DATE_PICKER_ID);//此方法会继续调用下面的onCreateDialog()方法将id传入(id是前面定义的  
  30.            一个常量)   
  31.         }   
  32.  
  33.     };     
  34.     protected Dialog onCreateDialog(int id){   
  35.         switch (id) {   
  36.         case DATE_PICKER_ID:   
  37.        //onDateSetListener为用户点击设置时执行的回调函数,数字是默认显示的日期,   
  38.          注意月份设置11而实际显示12,会自动加1   
  39.           return new DatePickerDialog  
  40.           (this,onDateSetListener,2011,11,12);       
  41.         }   
  42.         return null;   
  43.     }   
  44.     //用户点击设置时的回调函数   
  45.     DatePickerDialog.OnDateSetListener onDateSetListener=new 
  46.     DatePickerDialog.OnDateSetListener() {  
  47.      //第一个参数指整个DatePicker,第二个参数是当前设置的年份,   
  48.       //第三个参数是当前设置的月份,注意的是,获取设置的月份时需要加1,因为java中规定月份在0~11之间   
  49.  
  50.         public void onDateSet(DatePicker view, int year, int monthOfYear,   
  51.  
  52.                 int dayOfMonth) {   
  53.             //通过Toast对话框输出当前设置的日期   
  54.             Toast.makeText(view.getContext(),year+"-"+(monthOfYear+1)+"  
  55.             "+dayOfMonth, Toast.LENGTH_SHORT).show();   
  56.             System.out.println(year+"-"+monthOfYear+"-"+dayOfMonth);   
  57.         }   
  58.     };   
  59. }   
  60.  
posted @ 2013-05-31 13:00  crane13  阅读(155)  评论(0编辑  收藏  举报