当前位置: 首页 > 编程笔记 >

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

董飞
2023-03-14
本文向大家介绍Android日期选择器对话框DatePickerDialog使用详解,包括了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);
  }
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 我正在尝试实现日期选择器对话框,但该对话框显示只有一个日期,并显示日期的其余部分为空白,这可能是什么原因?

  • 我在活动中使用了一个类来创建日期选择器对话框,它一直在工作,直到我迁移到android studio。以下是课程: 类StartDatePicker现在引发了一个错误:这个片段类应该是公共的。在我将其声明为public之后,它引发了另一个错误:这个片段内部类应该是静态的。我不想将其声明为静态的,因为私有void showDate(int year,int month,int day,int day

  • 我想要一个日期选择器只显示月份和年份。我已经定制了日期选择器来这样做,即,从选择器中移除“Day”字段,但在Android中,Lollipop得到的选择器有Day、Month和year。下面是我的一段代码。请帮我弄清楚问题所在。提前道谢。

  • 我想把日期的限制,以便用户不能选择更多的日期,例如,如果今天是1月1日,那么用户不应该能够选择超过7个日期,我的意思是他不能选择1月9日。我也希望他不要选择月份和年份。所以我限制他在一周内完成任务。 到目前为止,我所做的是显示日期选择器片段并在其中设置当前日期。我的主活动中的代码如下所示: 日期选择器片段类如下所示: 它将当前日期设置为最大日期,但我如何添加7天前,因为它是日期对象?请帮忙

  • 本文向大家介绍Android 日期选择器,包括了Android 日期选择器的使用技巧和注意事项,需要的朋友参考一下 示例 DatePicker允许用户选择日期。创建的新实例时DatePicker,我们可以设置初始日期。如果我们不设置初始日期,那么默认情况下将设置当前日期。 我们可以DatePicker使用DatePickerDialog或通过使用DatePicker小部件创建我们自己的布局来向用户

  • 如何在同一对话框中显示日期选取器和时间选取器?如果我使用 应该做什么MainAcitiviy.java我是Android新手。我搜索了,但没有得到任何东西,,