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日期设置对话框
在 DatePickerDialog (Android) 上验证日期时出现 IllegalArgumentException
android DatePickerDialog怎么设置日期选择范围。