Android入门之DatePicker(纯Java)


     

  1. import java.util.Calendar;  
  2. import java.util.TimeZone;  
  3.   
  4. import Android.app.Activity;  
  5. import android.os.Bundle;  
  6. import android.widget.*;  
  7. import android.widget.DatePicker.OnDateChangedListener;  
  8.   
  9. public class DatePickerTest extends Activity {  
  10.      
  11.     private LinearLayout mainLayout=null;   //定义一个容器,用于盛放DatePicker和TextView   
  12.     private TextView tv=null;               //定义一个TextView,用于显示操作结果   
  13.     private DatePicker dp=null;             //定义一个DatePicker   
  14.       
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         mainLayout_init();  
  18.         setContentView(mainLayout);  
  19.     }  
  20.     /*mainLayout初始化*/  
  21.     void mainLayout_init(){  
  22.         mainLayout=new LinearLayout(this);  
  23.         LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-1, -1);  
  24.         mainLayout.setLayoutParams(lp);  
  25.         mainLayout.setOrientation(LinearLayout.VERTICAL);  
  26.         tv_init();  
  27.         dp_init();  
  28.         mainLayout.addView(dp);  
  29.         mainLayout.addView(tv);  
  30.     }  
  31.     /*tv初始化*/  
  32.     void tv_init(){  
  33.         tv=new TextView(this);  
  34.         tv.setText("这里显示结果");  
  35.     }  
  36.     /*dp初始化*/  
  37.     void dp_init(){  
  38.         dp=new DatePicker(this);  
  39.         //日期更改监听   
  40.         OnDateChangedListener odcl=new OnDateChangedListener(){  
  41.             public void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {  
  42.                 tv.setText("你选择了年:"+year+"\n");  
  43.                 //注:Calendar和DatePicker中的月份的值都是从0到11,与我们习惯不同   
  44.                 tv.append("你选择了月:"+(monthOfYear+1)+"\n");  
  45.                 tv.append("你选择了日:"+dayOfMonth+"\n");  
  46.             }  
  47.         };  
  48.         //通过Calendar获取当前年月日   
  49.         Calendar calendar=Calendar.getInstance(TimeZone.getDefault());  
  50.         int year=calendar.get(Calendar.YEAR);  
  51.         int month=calendar.get(Calendar.MONTH);  
  52.         int day=calendar.get(Calendar.DAY_OF_MONTH);  
  53.         //设定dp初始值为当前日期,绑定监听   
  54.         dp.init(year, month, day, odcl);  
  55.     }  
  56. }  

相关内容