2017-01-22 3 views
1

У меня есть честь V8, которая только что обновилась до android 7.0 Но теперь DatePickerDialog в моем приложении больше не показывает календарь, а просто прядильщик. enter image description hereПочему DatePickerDialog использует просмотр spinner после обновления до android 7.0

Когда я тестирую в эмуляторе с android 7.0, он снова показывает календарь. enter image description here

Я использую этот код для вызова DatePickerDialog:

public static void OpenCalendarioDialog(Activity activity, DatePickerDialog.OnDateSetListener mDateSetListener, int year, int month, int day) { 
    DateFormat dateFormat = android.text.format.DateFormat.getLongDateFormat(activity.getApplicationContext()); 
    Calendar cal = Calendar.getInstance(); 
    String title = dateFormat.format(GetTimeDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH))); 

    DatePickerDialog dialog = new DatePickerDialog(activity, mDateSetListener, year, month, day); 
    dialog.setTitle(title); 

    dialog.show(); 
} 

Так как я могу убедиться, что мой DatePickerDialog всегда будет использовать вид календаря? Мне не интересно использовать стороннюю библиотеку

+0

«Итак, как я могу убедиться, что мой DatePickerDialog всегда будет использовать просмотр календаря?» - если Huawei изменил способ работы DatePickerDialog, возможно, вы не сможете. Помимо этого, предоставьте [mcve], показывающий, как вы настраиваете «DatePickerDialog» и запрашиваете календарь. – CommonsWare

+0

Hi CommonsWare! Просто добавил мой код. Спасибо – Simon

+0

Это выглядит довольно нормально, а это значит, что я должен предположить, что Huawei испортился с 'DatePickerDialog' или, возможно, с' CalendarView'. Попробуйте бросить «CalendarView» в макете где-нибудь и посмотреть, подходит ли она на Huawei. Если это сработает, вы можете создать свой собственный диалог, который обертывает «CalendarView». Если сам виджет «CalendarView» нарушен, посмотрите, есть ли какой-либо параметр темы, который вы можете настроить, чтобы попытаться заставить «CalendarView» показать. – CommonsWare

ответ

0

Я нашел решение. Это так просто, мне стыдно.

я просто должен был поднять targetSdkVersion до 24 из-за андроида 7.0

Это напоминает мне, когда что-то не работает после обновления это первая вещь, которую я должен проверить.

Редактировать: Я был неправ! Поднятие targetSdkversion не решило проблему. Вместо этого мне пришлось добавить DatePicker в AlertDialog. После вопроса о lollipop samsung, теперь это? Android такой беспорядок!

+0

У меня такая же проблема и на устройстве Huawei, и обновлен до targetSdkVersion 25, и он по-прежнему показывает «неправильный» DatePickerDialog – allo86

+0

@ allo86. У меня также такая же проблема на устройстве Huawei и targetSdkVersion 25, удалось ли вам это исправить ? –

+0

@IljaS. Нет, у меня нет :( – allo86

Смежные вопросы