android – 如何从DatePickerDialog获取DatePicker?

我有一个活动,弹出一个 android.app.DatePickerDialog.
DatePickerDialog dialog =  new DatePickerDialog(this,startDateSetListener,start_cal.get(Calendar.YEAR),start_cal.get(Calendar.MONTH),start_cal.get(Calendar.DATE));

我想从DatePickerDialog中获取DatePicker视图,以便我可以设置最小和最大日期. API参考指出,有一个方法getDatePicker,并且自API 1以来一直存在,但它是无效的,我的ide不喜欢它.

DatePicker picker = dialog.getDatePicker();

“对于DatePickerDialog类型,getDatePicker()方法未定义”

任何人知道API是创建的方法,或者如何获取到DatePicker来编辑最小/最大日期?

我正在使用API​​ 7,Platform 2.1.

解决方法

尽管在Honeycomb和以上(除了dmon正确指出)中,getter方法只能使用,但是仍然可以很容易地使用反射来访问DatePickerDialog封装的DatePicker对象.看起来像这样:
DatePickerDialog dialog = ... // create dialog
Field mDatePickerField = dialog.getClass().getDeclaredField("mDatePicker");
mDatePickerField.setAccessible(true);
DatePicker mDatePickerInstance = (DatePicker) mDatePickerField.get(dialog);

从此,您可以引用内部的DatePicker对象,您应该可以根据自己的喜好进行更改.请注意任何明显的错字,因为我直接进入浏览器.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...