android datepickerdialog怎样设置时间最小值??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android datepickerdialog怎样设置时间最小值??相关的知识,希望对你有一定的参考价值。

我想在弹出dialog的时候就不能选择比当前时间小的值。。比如现在是2014.02.24,不能选日期框的“-”值。

android DatePickerDialog只能设置当前显示的值,不能设置最小值,最小值要在代码中判断。
在Android程序中,通常需要使用DatePicker来设置日期,TimePicker来设置时间。其基本步骤是:
1.先定义DatePicker和TimePicker布局
2.然后通过Calendar类获得系统时间
3.接着通过init方法将日期传递给DatePicker初始化日期控件
4.在响应点击事件中可以通过DatePicker的getYear()、getDayOfMonth()、getMonth()函数获取具体日期
同时可以在OnDateChangedListener事件中监听日期变化,设置时间函数方法同理。
参考技术A 用Calendar设置时间的值(可比现在时间小),然后将DatepickerDialog绑定这个Calendar就OK了 参考技术B 用Calendar设置时间的值(可比现在时间小),然后将DatepickerDialog绑定这个Calendar就OK了追问

怎么设置,能具体点吗。。。

本回答被提问者采纳

android 两次调用DatePickerDialog.onDateSet()

在4.2.2版本号上调用系统的DatePickerDialog。发现点击确定时系统调用onDateSet()两次。须要过滤当中的一次。


Calendar mCalendar = Calendar.getInstance();
mCalendar.add(Calendar.DAY_OF_YEAR, 1);
final DatePickerDialog dateDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
    boolean mFired = false;
    public void onDateSet(final DatePicker view, final int year, final int monthOfYear, final int dayOfMonth) {
        Log.i("PEW PEW", "Double fire check");
        if (mFired == true) {
            Log.i("PEW PEW", "Double fire occured. Silently-ish returning");
            return;
        } else {
            //first time mFired
            mFired = true;
        }
        //Normal date picking logic goes here
    }
}, mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH));
dateDialog.show();



參考:https://code.google.com/p/android/issues/detail?id=64895





以上是关于android datepickerdialog怎样设置时间最小值??的主要内容,如果未能解决你的问题,请参考以下文章

对话框android中的datepickerdialog

android笔记:DatePickerDialog日期设置对话框

在 DatePickerDialog (Android) 上验证日期时出现 IllegalArgumentException

android DatePickerDialog怎么设置日期选择范围。

Android DatePickerDialog TimePickerDialog

如何在 DatePickerDialog Android 中禁用今天日期之前的日期?