android 之DatePicker和TimePicker系列

来源:互联网 发布:java飞机大战源码 编辑:程序博客网 时间:2024/05/21 20:08

赶紧趁学校实验室还没有关门,赶紧抓时间说几句先吧!

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

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

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

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

public voidinit (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 Methodsabstract 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这个就不说的了,类似的!请自己查看文档。。。。快关门了,赶紧回宿舍睡觉,明天再来!


原创粉丝点击