第一种:
1.在布局文件中,声明两个button控件,一个控制日期,一个控制时间
2.声明两个Button,通过ID获得它们,给它们绑定监听器。
3.两个监听器,分别用来召唤出设置日期的DatePickerDialog和设置时间的TimePickerDialog
showDialog(DATE_PICKER_ID);
showDialog(TIME_PICKER_ID);
这用到了Dialog的onCreateDialog方法。根据点击的按钮,来区分应该召唤出哪个dialog
protected Dialog onCreateDialog(int id) {
4.另外还有两个监听器,用来监听用户点击下DatePikerDialog或者是TimePikerDialog的set按钮时,所设置的年月日和时间,月份是从0开始的。并且把它们打印出来。这里使用了匿名内部类
DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
第二种:
1.直接在布局文件中声明DatePicker,TimePicker和一个EditText用来实时显示日期时间。
2.声明变量和组件,通过ID获取对象,使用Calendar.getInstance();方法得到当前时间,并赋给变量,并把当前时间,显示在editview中
3.给DatePicker和TimePicker绑定监听器,这两者绑定的方法略有不同
-
datePicker.init(year, month, day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int month, int day) {
// TODO Auto-generated method stub
datatime.this.year = year;
datatime.this.month = month;
datatime.this.day = day;
//显示当前时间,日期
showDate(year,month,day,hour,minute);
}
});
-
timePicker.setOnTimeChangedListener (new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hour, int minute) {
// TODO Auto-generated method stub
datatime.this.hour = hour;
datatime.this.minute = minute;
//显示当前日期时间
showDate(year,month,day,hour,minute);
}
});
}
4.showDate方法,用来在editview中显示日期和时间。
private void showDate(int year,int month,int day,int hour,int minute){
}