DatePicker微调器Lollipop删除日行

时间:2015-03-25 13:07:47

标签: android android-5.0-lollipop android-datepicker

我试图在我的微调器中删除天行。我正在设置

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 ,这些字段不再存在。

有关如何解决此问题的想法吗?

2 个答案:

答案 0 :(得分:0)

暂时没有使用DatePicker的Android 5.0+解决方案。您可以尝试使用DateSlider,因此您不必编写自己的DatePicker代码。如果您使用MonthYearDateSlider,您应该能够完成所需的工作。

答案 1 :(得分:0)

我通过使用反射找到了解决方案。我不是它的粉丝但很好,它现在解决了。我基本上找到了这个答案:Android: how to change the color of the datepicker divider?