Android API中提供的 DatePicker(日期选择器) 和 TimePicker(时间选择器) 两种对象实现动态输入日期与时间的功能
使用 DatePicker 和 TimePicker 显示当前日期和时间:
//1.DatePickerDialog 和 TimePickerDialog 两种实现动态输入日期和时间的对话框
2.两组监测日期和时间改变的监听器
2.1 OnDateChangedListener() 和 OnTimeChangedListener()
当用户更改了 DatePicker 里的年、月、日时,将触发 OnDateChangedListener 监听器的 onDateChanged() 事件
当用户更改了 TimePicker 里的时、分时,将触发 OnTimeChangedListener 监听器的 onTimeChanged() 事件
//.2 OnDateSetListener()和OnTimeSetListener
//当用户更改了DatePickerDialog里的年、月、日时,将触发OnDateSetListener监听器的onDateSet()事件
//当用户更改了TimePickerDialog里的时、分时,将触发OnTimeSetListener监听器的onTimeSet()事件
3.DatePicker 和 TimePicker 使用:
3.1 TimePicker 时间选择器
TimePicker tp= (TimePicker)findViewById(R.id.TimePicker01); //取得TimePicker对象
tp.setIs24HourView (true); //并设置为24小时制
tp.setOnTimeChangedListener (new OnTimeChangedListener () {
public void onTimeChanged(TimePicker view, int hourOfDay, int Minute) {}
});
3.2 DatePicker 日期选择器
DatePicker dp= (DatePicker)findViewById(R.id.DatePicker01); //取得DatePicker对象
Calendar calendar = Calendar.getInstance();//获取当前时间
//以init()设置初始值与OnDateChangedListener()
dp.init (year, month, day, new OnDateChangedListener () {
public void onDateChanged(DatePicker view,int Year,int monthOfYear,int dayOfMonth) {}
});
如下例:
private int hour_on; //定时开机
private int minutes_on;
private int year_on;
private int month_on;
private int day_on;
DatePicker datePicker_off = (DatePicker) findViewById(R.id.datePicker_off); //定时关机日期
TimePicker timePicker_off = (TimePicker) findViewById(R.id.timePicker_off); //定时关机时间
timePicker_off.setIs24HourView(true);
//定时关机 时间选择器监听事件
timePicker_off.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
hour_off = hourOfDay;
minutes_off = minute;
}
});
//定时关机 日期选择器监听
Calendar calendar_off = Calendar.getInstance(); //获取当前时间对象
int now_year_off = calendar_off.get(Calendar.YEAR); //获取年
int now_month_off = calendar_off.get(Calendar.MONTH)+1; //获取月
int now_day_off = calendar_off.get(Calendar.DAY_OF_MONTH); //获取日
datePicker_off.init(now_year_off,now_month_off,now_day_off,new DatePicker.OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
year_off = year;
month_off = monthOfYear;
day_off = dayOfMonth;
}
});