赶紧趁学校实验室还没有关门,赶紧抓时间说几句先吧!
还是延续上去剩下来的东西,这次讲一下有关DatePicker和TimePicker这两个日期类的使用吧!直接进入正题吧!
首先说下DatePicker,这个是一个显示日期的类,android是有名的点击拖拉系统,所以这个点也难免有像其他控件一样的监听器喽。查看一下官方文档,的确不出所料!
interface | DatePicker.OnDateChangedListener | The callback used to indicate the user changes\d the date. |
当然,你现在最关心的事是怎么去定义这个接口,不急,文档里有这样一个方法
public void init (int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
Initialize the state. If the provided values designate an inconsistent date the values are normalized before updating the spinners.
Parameters
year | The initial year. |
---|---|
monthOfYear | The initial month starting from zero. |
dayOfMonth | The initial day of the month. |
onDateChangedListener | How user is notified date is changed by user, can be null. |
private DatePicker datePicker = null;
datePicker = (DatePicker) findViewById(R.id.datepicker);
datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
}
});
这样就完成了!同样的道理TimePicker也是跟DatePicker一样的,请查阅官方文档!
再说说跟DatePicker和TimePicker关系比较密切的两个类DatePickerDialog和TimePickerDialog这两个类吧!
DatePickerDialog:A simple dialog containing an DatePicker
. 简单来说就是一个对话框,可以设置修改时间!
那这个类又怎么来实现的呢,再瞅瞅官方文档!
它有两个构造方法;
DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
第二个构造函数比第一个多了个主题设置参数!
唉!又说监听器了,仔细一看文档,又发现DatePickerDialog里面又有监听器的实现,正常,这就是android绚丽的特点。
public static interface
DatePickerDialog.OnDateSetListener
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void | onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) |
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new DatePickerDialog(DIalogDemoActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
}
}, calendar.get(Calendar.YEAR), calendar
.get(Calendar.MONTH), calendar
.get(Calendar.DAY_OF_MONTH)).show();
}
});
通过点击button来操作DatePickerDialog。
剩下这个TimePickerDialog这个就不说的了,类似的!请自己查看文档。。。。快关门了,赶紧回宿舍睡觉,明天再来!