Android原生日期选择器对话框DatePickerDialog

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangyong7112/article/details/54427402


调用Android原生日期选择器对话框就是DatePickerDialog

在Android4.4系统上效果如图:


在Android5.0以上效果如图:



1、Activity的onCreate方法中获取当时的年 ,月,日

Calendar ca = Calendar.getInstance();
mYear = ca.get(Calendar.YEAR);
mMonth = ca.get(Calendar.MONTH);
mDay = ca.get(Calendar.DAY_OF_MONTH);
2、通过按钮触发日期选择器

btn_day.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //TODO 调用时间选择器
        new DatePickerDialog(MainActivity.this, onDateSetListener, mYear, mMonth, mDay).show();
    }
});

3、实现选择器的监听,并将获取到的结果设置到TextView上:

/**
 * 日期选择器对话框监听
 */
private DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        mYear = year;
        mMonth = monthOfYear;
        mDay = dayOfMonth;
        String days;
        if (mMonth + 1 < 10) {
            if (mDay < 10) {
                days = new StringBuffer().append(mYear).append("年").append("0").
                        append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();
            } else {
                days = new StringBuffer().append(mYear).append("年").append("0").
                        append(mMonth + 1).append("月").append(mDay).append("日").toString();
            }

        } else {
            if (mDay < 10) {
                days = new StringBuffer().append(mYear).append("年").
                        append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();
            } else {
                days = new StringBuffer().append(mYear).append("年").
                        append(mMonth + 1).append("月").append(mDay).append("日").toString();
            }

        }
        tv_data.setText(days);
    }
};




阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页