Android日期和时间选择器实现代码

 更新时间:2017年11月10日 10:18:10   作者:Glydi  
这篇文章主要为大家详细介绍了Android日期和时间选择器实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

抽出来了一个方法来选择时间(这里自己规定的只能选择当前时间以后的日期),日期选择完毕就会自动弹出时间选择器让选择时间。

  /**
   * 选择日期和时间
   */
  private void selectDataAndTime() {
    // 获取当前时间
    final Calendar calendar = Calendar.getInstance();
    /*
     * toast("当前时间是:" + calendar.get(Calendar.YEAR) + "," +
     * calendar.get(Calendar.MONTH) + "," +
     * calendar.get(Calendar.DAY_OF_MONTH));
     */
    // 日期选择对话框
    dataPickerDialog = new DatePickerDialog(this, new OnDateSetListener() {

      @Override
      public void onDateSet(DatePicker view, int year, int month, int day) {
        // 判断用户选择的日期是否合法
        if (calendar.get(Calendar.YEAR) > year) {
          toast("时间有误,请从新选择");
          return;
        } else if (calendar.get(Calendar.YEAR) == year) {
          if (calendar.get(Calendar.MONTH) > month) {
            toast("时间有误,请从新选择");
            return;
          } else if (calendar.get(Calendar.MONTH) == month) {
            if (calendar.get(Calendar.DAY_OF_MONTH) > day) {
              toast("时间有误,请从新选择");
              return;
            } else {
              strDate = year + "-" + (month + 1) + "-" + day;
              if (timePickerDialog != null) {
                timePickerDialog.show();
              }
            }
          } else {
            strDate = year + "-" + (month + 1) + "-" + day;
            if (timePickerDialog != null) {
              timePickerDialog.show();
            }
          }
        } else {
          strDate = year + "-" + (month + 1) + "-" + day;
          if (timePickerDialog != null) {
            timePickerDialog.show();
          }
        }
      }
    }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar
        .get(Calendar.DAY_OF_MONTH));
    // 时间选择对话框
    timePickerDialog = new TimePickerDialog(this, new OnTimeSetListener() {

      @Override
      public void onTimeSet(TimePicker view, int hour, int minute) {
        strTime = strDate + " " + hour + ":" + minute;
        timeTt.setText(strTime);
      }
    }, calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true);
  }

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

相关文章

  • Gradle编译打包Android apk详细介绍

    Gradle编译打包Android apk详细介绍

    这篇文章主要介绍了Gradle编译打包Android apk详细介绍的相关资料,理解Gradle构建过程,解读Android Gradle插件的配置,需要的朋友可以参考下
    2016-12-12
  • Android中TabLayout添加小红点的示例代码

    Android中TabLayout添加小红点的示例代码

    本篇文章主要介绍了Android中TabLayout添加小红点的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Android编程实现夜间模式的方法小结

    Android编程实现夜间模式的方法小结

    这篇文章主要介绍了Android编程实现夜间模式的方法,涉及Android亮度调节、自定义Theme、遮罩模式等相关使用技巧,需要的朋友可以参考下
    2018-01-01
  • Android自定义Gallery控件实现3D图片浏览器

    Android自定义Gallery控件实现3D图片浏览器

    这篇文章主要介绍了Android自定义Gallery控件实现3D图片浏览器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Android实现视频的画中画功能

    Android实现视频的画中画功能

    手机观看视频的时候,有些工作需要沟通,或者参与抢购活动,同时为了不错过视频精彩片段,会选择画中画模式,这篇文章主要为大家详细介绍了Android实现视频的画中画功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Android Service生命周期详解

    Android Service生命周期详解

    Android Service 生命周期可以促使移动设备的创新,让用户体验到最优越的移动服务,只有broadcast receivers执行此方法的时候才是激活的,当 onReceive()返回的时候,它就是非激活状态
    2015-11-11
  • android球形水波百分比控件代码

    android球形水波百分比控件代码

    本篇文章主要是介绍android球形水波百分比控件,现在很多地方都能用的,有需要的可以来了解一下。
    2016-11-11
  • Android编程之分辨率处理相关代码段合集

    Android编程之分辨率处理相关代码段合集

    这篇文章主要介绍了Android编程之分辨率处理相关代码段合集,涉及Android针对分辨率的计算与转换等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • Android刮刮卡效果实现代码

    Android刮刮卡效果实现代码

    这篇文章主要为大家详细介绍了Android刮刮卡效果实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android简单实现无限滚动自动滚动的ViewPager

    Android简单实现无限滚动自动滚动的ViewPager

    这篇文章主要介绍了Android简单实现无限滚动自动滚动的ViewPager,百度谷歌上面也有很多关于这方面的教程,但是感觉都略显麻烦,而且封装的都不是很彻底。所以试着封装一个比较好用的ViewPager,实现思路一起通过本文学习吧
    2016-12-12

最新评论