Android日期选择器对话框DatePickerDialog使用详解

调用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);
  }
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程(cainiaojc.com)。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。