Custom Date Picker Dialog in Android Lollipop

前端 未结 3 1013
时光说笑
时光说笑 2020-12-16 07:29

I want a date picker to show only Month and Year. I\'ve customized the Date Picker to do so i.e., to remove \'day\' field from the picker,but in Android Lollipop Am getting

3条回答
  •  情话喂你
    2020-12-16 07:46

    Using reflection to find and hide UI elements is not really a great practice. In your case, it stopped working in lollipop because the mDaySpinner is now contained in an internal private static DatePickerSpinngerDelegate class within the DatePicker class.

    I would recommend going through the view hierarchy to find and hide the day spinner element instead. I wrote the following code that works in lollipop:

    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        int daySpinnerId = Resources.getSystem().getIdentifier("day", "id", "android");
        if (daySpinnerId != 0) {
            View daySpinner = datePicker.findViewById(daySpinnerId);
            if (daySpinner != null) {
                daySpinner.setVisibility(View.GONE);
            }
        }
    }
    

提交回复
热议问题