您的位置:首页 > 其它

如何应用日期,时间控件

2015-01-25 00:00 344 查看
控件内容初始化的时候一般要使日期及时间显示为当前的时间。

//得到当前的时间日期
private void initTime() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH) + 1;
mDay = c.get(Calendar.DAY_OF_MONTH);
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
}
private void setDatetime() {
mDate.setText(mYear + "-" + mMonth + "-" + mDay);
mTime.setText(pad(mHour) + ":" + pad(mMinute));
}

通过onCreateDialog、onPrepareDialog、mDateSetListener 、mTimeSetListener 进行设置

@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1:
return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute,
false);
case 2:
return new DatePickerDialog(this, mDateSetListener, mYear,
mMonth - 1, mDay);
}
return null;
}

//更新弹出对话框控件的显示值
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
switch (id) {
case 1:
((TimePickerDialog) dialog).updateTime(mHour, mMinute);
break;
case 2:
((DatePickerDialog) dialog).updateDate(mYear, mMonth - 1, mDay);
break;
}
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear + 1;
mDay = dayOfMonth;
setDatetime();
}
};
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
setDatetime();
}
};
然后通过showDialog(1);showDialog(2);就可以分别将TimePickerDialog和DatePickerDialog显示出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: