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