由于需求需要自定义Dialog背景色,所有没有采用DatePickerDialog,自己写了个自定义的Dialog,问题随之而来,手工编辑的日期,点击确定却没法获取输入的值,查阅了一下源码,原来很简单就是个焦点的问题。
DatePicker中Edittext,是封装在NumberPicker中的,当焦点变化时,进行文本设置
OnFocusChangeListener focusListener = new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
/* When focus is lost check that the text field
* has valid values.
*/
if (!hasFocus) {
validateInput(v);
}
}
};
private void validateInput(View v) {
String str = String.valueOf(((TextView) v).getText());
if ("".equals(str)) {
// Restore to the old value as we don't allow empty values
updateView();
} else {
// Check the new value and ensure it's in range
validateCurrentView(str);
}
}
用DatePickerDialog输入的为什么可以呢?
public void onClick(DialogInterface dialog, int which) {
if (mCallBack != null) {
//注意此处,当点击事件发生的时候,会clear焦点,触发文本校验
mDatePicker.clearFocus();
mCallBack.onDateSet(mDatePicker, mDatePicker.getYear(),
mDatePicker.getMonth(), mDatePicker.getDayOfMonth());
}
}
所以解决方法很简单,在onclick中加一句clearFocus()即可
分享到:
相关推荐
Android应用源码之DatePicker_应用
源码参考,欢迎下载
Android DatePicker 自定义日期控件,Android DatePicker 自定义日期控件
Android DatePicker Demo,实现在android中调用DatePicker对日期进行操作的Demo
中兴U880测试通过,支持2.0系统。不过android 4.0下,DatePicker会报错,TimePicker不会报错。
My97DatePicker使用 日期获取 用程序获取本日,本周,本月日期段。
Android控件DatePicker的基本用法例程
datepicker,numpicker调整大小及分割线颜色
自学 Android 做的第九个 Android 程序,使用了 DatePicker
Android自定义的DatePicker,可以设置年、月、日之间间隔的宽度,并且可以修改分隔线的颜色,详见本人博客《更改DatePicker中年月日的间隔和分隔线颜色》
Android中的DatePicker和TimePicker控件使用,详细了解请移步http://blog.csdn.net/zxc514257857/article/details/52791649
Android Studio 中的 DatePicker 和 TimePicker 组件使用详解 Android Studio 是 Google 官方推出的 Android 应用程序集成开发环境(IDE),提供了许多实用的组件和工具来帮助开发者快速构建高质量的 Android 应用...
可自由组合时间(例如年月日,时分,年月日时分,年月日时等); 定义初始时间,限定时间范围;
可以自定义样式和功能的的DatePicker和timepicker
Android应用源码之DatePicker.zip项目安卓应用源码下载Android应用源码之DatePicker.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
Android中DatePicker的作用与定义.pdf 学习资料 复习资料 教学资源
Android+DatePicker+日期选择器
NULL 博文链接:https://flyer0126.iteye.com/blog/743449
datepicker源代码. public class NumberPicker extends View { //基本设置 /** * picker宽度 */ private int mWidth; /** * picker高度 */ private int mHeight; /** * 声效 */ private Sound...
Android DatePicker 日期获取框控件 博客地址:http://blog.csdn.net/csdnyuandaimaxuexi/article/details/48437443