作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个弹出 android.app.DatePickerDialog 的 Activity 。
DatePickerDialog dialog = new DatePickerDialog(this, startDateSetListener, start_cal.get(Calendar.YEAR), start_cal.get(Calendar.MONTH), start_cal.get(Calendar.DATE));
我想从 DatePickerDialog 获取 DatePicker View ,以便我可以设置最小和最大日期。 API 引用说有一个方法 getDatePicker 并且自 API 1 以来一直存在,但它无效,我的想法不喜欢它。
DatePicker picker = dialog.getDatePicker();
“未为 DatePickerDialog 类型定义方法 getDatePicker()”
有谁知道创建该方法的 API 是什么,或者我如何才能使用 DatePicker 来编辑最小/最大日期?
我正在使用 API 7,平台 2.1。
最佳答案
尽管 getter 方法仅在 Honeycomb 及更高版本中可用(正如 dmon 正确指出的那样),您仍然可以相当容易地访问由 DatePickerDialog
封装的 DatePicker
对象> 使用反射。它看起来像这样:
DatePickerDialog dialog = ... // create dialog
Field mDatePickerField = dialog.getClass().getDeclaredField("mDatePicker");
mDatePickerField.setAccessible(true);
DatePicker mDatePickerInstance = (DatePicker) mDatePickerField.get(dialog);
从现在开始,您拥有了对内部 DatePicker
对象的引用,您应该能够根据自己的喜好对其进行更改。请注意任何明显的拼写错误,因为我是直接在浏览器中输入的。
关于android - 如何从 DatePickerDialog 获取 DatePicker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10507607/
我是一名优秀的程序员,十分优秀!