日期选择器DatePickerDialog简化使用

官方提供的例子,大致如下:

1. 在Activity中重写onCreateDialog方法,生成日期选择器;

2. 定义OnDateSetListener

3. 定义一个更新UI的方法

啰嗦。而且如果一个窗口有多个控件需要日期选择器的话,需要对每个选择器加以区别,代码就变得特别纷繁复杂。

有没有简便的使用方式呢?有,仅需短短几行代码,搞定!

首先,在工具类里定义一个static方法:

    public static void chooseDate(Context ctx, final TextView text){
        Calendar c = Calendar.getInstance();

        new DatePickerDialog(ctx, new DatePickerDialog.OnDateSetListener() {
            
            @Override
            public void onDateSet(DatePicker view, int year, int month,    int day) {
                String date = year + "-" + (month + 1) + "-" + day;
                text.setText(date);
            }
        }, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE))
        .show();    
    }
然后,在需要使用日期选择器的地方,比如某个文本输入框的单击事件里写上如下代码:

Utils.chooseDate(MyActivity.this, beginTime);
因为EditText是TextView的子类,上面的写法是没有问题的,可以在EditText里显示出选择后的日期值。

在另外一个文本输入框的单击事件里写上同样的代码:

Utils.chooseDate(MyActivity.this, endTime);
是不是很方便?


你可能感兴趣的:(c,Date,UI,String,calendar,工具)