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

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

(0)

相关推荐

  • 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_M

  • Android自定义酒店日期选择器

    Android自定义日期区间选择器,类似于途家等酒店.旅游日期区间选择器: 重写PopupWindow 制定区间日历 添加日历日期选中监听 封装插件化 github开源 CustomDatePicker 类似于途家等酒店日期选择器,弹出自定义的PopupWindow,监听日期选中,返回结果.代码已经开源到GitHub上,提供插件化. -- [ Wiki ] Github 地址:CustomHotelCalender 1. 添加依赖: Step 1.Add it in your root buil

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

    本文为大家分享了两款选择器,一款可以针对时间进行选择.一款可以针对日期进行选择,供大家参考,具体内容如下 一.时间选择器 1.1.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.and

  • Android使用第三方库实现日期选择器

    本文主要是介绍利用第三方库实现底部日期选择器滚轮效果,类似IOS日期效果,只记录了一种展示效果,是项目中常用到的,至于用到其他效果以及自定义扩展的可以参考原文自行学习. 原文github地址 效果图参考: 使用方法: 1.AS添加依赖: compile 'com.contrarywind:Android-PickerView:3.2.6' 2.在Activity中添加如下代码: TimePickerView pvTime = new TimePickerView.Builder(this, ne

  • Android日期选择器实现年月日三级联动

    最近项目里面用到了一个日期选择器,实现现在主流的WheelView滑动选择,整理了下,做了个Demo.废话不多说,直接上代码. 主布局:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo

  • Android自定义DataTimePicker实例代码(日期选择器)

    笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在博客中.本篇博客给大家分享的是自定义一个日期选择器,可以让用户同时选择年月日和当前时间. 先看看效果: 实现的效果就是在同一个布局上显示日期选择和时间选择. 自定义一个类: /DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java package com.wwj.datetimepicker; i

  • Android仿iPhone日期时间选择器详解

    本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import

  • Android仿Boss直聘文本日期混合滚轮选择器示例

    1.需求分析 GitHub上面有一款iOS风格的滚轮选择器Android-PickerView,它分为时间选择器代码TimePickerView和选项选择器OptionsPickerView,不但可以选择时间日期,可以选择我们自定义的数据,比如性别.年龄等.我一直都用它.直到最近遇到了一个需求,它的选项里面既有文字也有时间,大体效果如Boss直聘添加项目经验中的时间选择功能: 从图中我们可以看出,除了常规的年份和月份的选择,选项中还包含了文本.其中,最新的时间是"至今",而最早可供选择

  • Android 日期选择器实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: //出生年月设置 private void birthSetting() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, 1); new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() { @Override public void onDat

  • Android自定义wheelview实现滚动日期选择器

    本文实例为大家分享了Android实现滚动日期选择器的具体代码,供大家参考,具体内容如下 wheelview滚动效果的View 这段时间需要用到一个时间选择器,但是不能使用日期对话框, 因为它是筛选条件框架下的,只能是View!这个WheelView改造后可以达到要求! 这个wheelview框架使用的类不多,就几个,还有一些资源文件. 我根据这个框架设计了日期的选择器. 主页面: 第一种日期选择器页面: 动态效果: 使用: 具体的实现是一个LoopView的类,这是一个继承View的类! 理解

  • Android基于wheelView实现自定义日期选择器

    本文实例为大家分享了Android实现自定义日期选择器的具体代码,供大家参考,具体内容如下 项目要求效果图: 要求 "6月20 星期五" 这一项作为一个整体可以滑动,"7时"."48分"分别作为一个滑动整体. 系统自带的DatePicker.TimePicker大家都知道,只有这种效果: 百度了很多,试了NumberPicker等都不行,本来打算自己写.网友推荐了一个开源组件WheelView,下下来试了试,发现他已经定义的很完善了,在他的基础上

  • Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)

    本文Github代码链接 https://github.com/AndroidMsky/AndoirdIOSPicker 先上图吧: 这是笔者最近一个项目一直再用的一个选择器库,自己也在其中做了修改,并决定持续维护下去. 先看使用方法: 日期选择: private void showDateDialog(List<Integer> date) { DatePickerDialog.Builder builder = new DatePickerDialog.Builder(this); bui

随机推荐