您的位置:首页 > 移动开发 > Android开发

android 之DatePicker和TimePicker系列

2012-03-08 23:44 387 查看
赶紧趁学校实验室还没有关门,赶紧抓时间说几句先吧!

还是延续上去剩下来的东西,这次讲一下有关DatePicker和TimePicker这两个日期类的使用吧!直接进入正题吧!

首先说下DatePicker,这个是一个显示日期的类,android是有名的点击拖拉系统,所以这个点也难免有像其他控件一样的监听器喽。查看一下官方文档,的确不出所料!

interfaceDatePicker.OnDateChangedListenerThe callback used to indicate the user changes\d the date.
这是一个接口,当继承这个接口时,你需要去重写OnDateChanged(DatePicker view,int year,int monthOfyear)这个方法,至于你想怎么写,这是你的事情了!

当然,你现在最关心的事是怎么去定义这个接口,不急,文档里有这样一个方法

public void
init (int year, int monthOfYear, int dayOfMonth,

DatePicker.OnDateChangedListener onDateChangedListener)

Since:
API Level 1

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.
首先你可以通过Calendar这个日期类最当前的时间进行设置为系统时间,最后一个参数便是这个监听器的参数了,怎么实现,请看下面这个小例子:

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,
DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)

DatePickerDialog(Context
context, int theme,
DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)

第二个构造函数比第一个多了个主题设置参数!

唉!又说监听器了,仔细一看文档,又发现DatePickerDialog里面又有监听器的实现,正常,这就是android绚丽的特点。

public static interface

DatePickerDialog.OnDateSetListener

Public Methods
abstract voidonDateSet(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这个就不说的了,类似的!请自己查看文档。。。。快关门了,赶紧回宿舍睡觉,明天再来!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: