-1
我想在AlertDialog中的DatePicker中只显示月份和月份字段的一天。在API 21以前的API中,我可以用下面的代码来完成它。但是当我尝试在API21 +“getDeclaredFields()”中执行时,它甚至不会像“mYearPicker”或“mYearSpinner”字段那样返回。是否有人知道如何我可以只显示日期和月份字段吗?我甚至不知道字段“116”是什么。Android API 21+ DatePicker不能隐藏字段
我这样的代码:
final DatePicker datePickerStart = new DatePicker(new ContextThemeWrapper(getActivity(), android.R.style.Theme_Holo_Light_Dialog_NoActionBar));
datePickerStart .setCalendarViewShown(false);
datePickerStart .setSpinnersShown(true);
try {
Field f[] = datePickerStart .getClass().getDeclaredFields();
for (Field field : f) {
if (field.getName().equals("mYearPicker")|| field.getName().equals("mYearSpinner")) {
field.setAccessible(true);
Object yearPicker = new Object();
yearPicker = field.get(datePickerStart);
((View) yearPicker).setVisibility(View.GONE);
}
}
}
catch (Exception e) {
Log.e("ERROR", e.getMessage());
}
应该像这样: Before API 21
是这样的: API 21+
任何想法?
嗯,为什么不叉'DatePicker'并对其进行修改,以适应?或者,为什么不使用[第三方库](http://android-arsenal.com/tag/27)?考虑到设备制造商可以改变Android内部结构,更不用说谷歌拥有新的Android版本,是什么让你认为这种方法可以在数千款Android设备上运行? – CommonsWare
似乎像http://stackoverflow.com/questions/30789907/hide-day-month-or-year-from-datepicker-in-android-5-0-lollipop – Morse
@Morse谢谢你的重复!它运作良好 – Goktug