我试图在我的微调器中删除天行。我正在设置
android:calendarViewShown="false"
android:datePickerMode="spinner"
以便它使用微调器模式。在我使用这样的反射之前:
Field[] fields = DatePicker.class.getDeclaredFields();
try {
String[] s = new String[] {"01","02","03","04","05","06","07","08","09","10","11","12"};
for (Field field : fields) {
field.setAccessible(true);
if (TextUtils.equals(field.getName(), "mMonthSpinner")) {
NumberPicker monthPicker = (NumberPicker) field.get(this);
monthPicker.setDisplayedValues(s);
}
if (TextUtils.equals(field.getName(), "mShortMonths")) {
field.set(this, s);
}
if (TextUtils.equals(field.getName(), "mDaySpinner") || TextUtils.equals(field.getName(), "mDayPicker")) {
((View) field.get(this)).setVisibility(GONE);
}
}
}
但现在,与Lollipop ,这些字段不再存在。
有关如何解决此问题的想法吗?
答案 0 :(得分:0)
暂时没有使用DatePicker的Android 5.0+解决方案。您可以尝试使用DateSlider,因此您不必编写自己的DatePicker代码。如果您使用MonthYearDateSlider,您应该能够完成所需的工作。
答案 1 :(得分:0)
我通过使用反射找到了解决方案。我不是它的粉丝但很好,它现在解决了。我基本上找到了这个答案:Android: how to change the color of the datepicker divider?