天天看点

Android练习之DatePicker和TimePicker、DatePickerDialog和TimePickerDialog

code

View Code

1 package com.example.flexd6;
  2 
  3 import java.util.Calendar;
  4 import java.util.Date;
  5 import java.util.Locale;
  6 
  7 import android.os.Bundle;
  8 import android.app.Activity;
  9 import android.app.DatePickerDialog;
 10 import android.app.DatePickerDialog.OnDateSetListener;
 11 import android.app.TimePickerDialog;
 12 import android.app.TimePickerDialog.OnTimeSetListener;
 13 import android.view.Menu;
 14 import android.view.View;
 15 import android.view.View.OnClickListener;
 16 import android.widget.Button;
 17 import android.widget.DatePicker;
 18 import android.widget.DatePicker.OnDateChangedListener;
 19 import android.widget.TextView;
 20 import android.widget.TimePicker;
 21 import android.widget.TimePicker.OnTimeChangedListener;
 22 
 23 /**
 24  * 1.DatePicker和TimePicker的监听事件,触发后在TextView显示日期时间
 25  * 2.点击Button弹出DatePickerDialog和TimePickerDialog
 26  */
 27 public class MainActivity extends Activity {
 28     //Widget
 29     private DatePicker dp1;
 30     private TimePicker tp1;
 31     private TextView tv1;
 32     private Button bt1;
 33     private Button bt2;
 34     //Time
 35     private int year;
 36     private int month;
 37     private int day;
 38     private int hour;
 39     private int minute;
 40     private int second;
 41     private Calendar calendar = Calendar.getInstance(Locale.CHINA);
 42     
 43     @Override
 44     protected void onCreate(Bundle savedInstanceState) {
 45         super.onCreate(savedInstanceState);
 46         setContentView(R.layout.activity_main);
 47     
 48         //Widget
 49         dp1 = (DatePicker)findViewById(R.id.dp1);
 50         tp1 = (TimePicker)findViewById(R.id.tp1);
 51         tv1 = (TextView)findViewById(R.id.tv1);
 52         bt1 = (Button)findViewById(R.id.bt1);
 53         bt2 = (Button)findViewById(R.id.bt2);
 54         
 55         //Listener
 56         dp1.init(year, month, day, onDateChangedListener);//init
 57         tp1.setOnTimeChangedListener(onTimeChangedListener);
 58         tp1.setIs24HourView(true);//24小时制
 59         
 60         bt1.setOnClickListener(datePickerDialogListener);
 61         bt1.setText("DatePickerDialog");
 62         bt2.setOnClickListener(timePickerDialogListener);
 63         bt2.setText("TimePickerDialog");
 64     }
 65 
 66     /**
 67      * OnDateChangedListener
 68      */
 69     OnDateChangedListener onDateChangedListener = new OnDateChangedListener() {
 70         
 71         @Override
 72         public void onDateChanged(DatePicker view, int year, int monthOfYear,
 73                 int dayOfMonth) {
 74             MainActivity.this.year = year;
 75             MainActivity.this.month = monthOfYear + 1;//monthOfYear 0开始
 76             MainActivity.this.day = dayOfMonth;
 77             showTime();
 78         }
 79     };
 80     
 81     /**
 82      * OnTimeChangedListener
 83      */
 84     OnTimeChangedListener onTimeChangedListener = new OnTimeChangedListener() {
 85         
 86         @Override
 87         public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
 88             MainActivity.this.hour = hourOfDay;
 89             MainActivity.this.minute = minute;
 90             showTime();
 91         }
 92     };
 93     
 94     /**
 95      * datePickerDialogListener
 96      */
 97     View.OnClickListener datePickerDialogListener = new OnClickListener(){
 98 
 99         @Override
100         public void onClick(View v) {
101             //Calendar Init
102             calendar.setTime(new Date());
103             //calendar.setTimeInMillis(System.currentTimeMillis());
104             
105             new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
106                 @Override
107                 public void onDateSet(DatePicker view, int year, int monthOfYear,
108                         int dayOfMonth) {
109                     MainActivity.this.year = year;
110                     MainActivity.this.month = monthOfYear + 1;//monthOfYear 0开始
111                     MainActivity.this.day = dayOfMonth;
112                     showTime();
113                 }
114             }, year, calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
115             
116         }
117     };
118     
119     /**
120      * timePickerDialogListener
121      */
122     View.OnClickListener timePickerDialogListener = new OnClickListener() {
123         
124         @Override
125         public void onClick(View v) {
126             new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
127                 
128                 @Override
129                 public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
130                     MainActivity.this.hour = hourOfDay;
131                     MainActivity.this.minute = minute;
132                     showTime();
133                 }
134             }, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show();//is24HourView
135         }
136     };
137     
138     /**
139      * TextView展示时间
140      */
141     private void showTime(){
142         tv1.setText(year + "-" + month + "-" + day + " " + hour + ":" + minute);
143     }
144 
145     @Override
146     public boolean onCreateOptionsMenu(Menu menu) {
147         // Inflate the menu; this adds items to the action bar if it is present.
148         getMenuInflater().inflate(R.menu.activity_main, menu);
149         return true;
150     }
151 
152 }      

转载于:https://www.cnblogs.com/imzzh/archive/2012/12/14/2817509.html