2016-10-08 2 views
1

я обнаружил нечто странное:
Давайте посмотрим на нормальный DatePickerDialog:Android DatePickerDialog странно TextView

Without

Когда я добавляю эту строку, которая устанавливает максимальную дату вчера:

datePickerDialog.getDatePicker().setMaxDate(yesterdayCal.getTime().getTime()); 

это выглядит следующим образом:

with

Вы видите разницу? Он добавляет TextView над DatePicker. Я не знаю почему. Это выглядит странно и всегда показывает ту же дату, что и выбрано. Я хочу удалить его? Некоторые идеи?

Полный код:

DatePickerDialog datePickerDialog = new DatePickerDialog(this, R.style.DialogTheme, new DatePickerDialog.OnDateSetListener() { 
        @Override 
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 

         Calendar pickedCal = Calendar.getInstance(Locale.getDefault()); 
         pickedCal.set(year, monthOfYear, dayOfMonth); 
         setToMidnight(pickedCal); 

         SimpleDateFormat dateFormat = new SimpleDateFormat("EEE dd.MM.yyyy", Locale.getDefault()); 
         String pickedDate = dateFormat.format(pickedCal.getTime()); 
         MyToast.showLong(LiveSelectActivity.this, getString(R.string.hinweis_nachtragen_gueltig, pickedDate)); 
         startNachtragen(pickedCal.getTime()); 

        } 
       }, currentCalendar.get(Calendar.YEAR), currentCalendar.get(Calendar.MONTH), currentCalendar.get(Calendar.DAY_OF_MONTH)); 

       /*Setzt das maximale Auswahldatum auf gestern.*/ 
       Calendar yesterdayCal = (Calendar) currentCalendar.clone(); 
       yesterdayCal.add(Calendar.DATE, -1); 
       datePickerDialog.getDatePicker().setMaxDate(yesterdayCal.getTime().getTime()); 

       datePickerDialog.show(); 

      } 

ответ

1

По какой-то причине, задающего максимальную дату с помощью этой линии задает название DatePickerDialog

datePickerDialog.getDatePicker().setMaxDate(yesterdayCal.getTime().getTime()); 

Для того, чтобы удалить заголовок, используйте setTitle("")

datePickerDialog.getDatePicker().setMaxDate(yesterdayCal.getTime().getTime()); 
datePickerDialog.setTitle(""); 
datePickerDialog.show(); 
+0

он работает! я дам тебе щедрость, как только ее разблокируют! – XxGoliathusxX

+0

Проверьте это решение со старыми версиями Android. В современных версиях это может отлично работать, но более старым может потребоваться изменение названия. – Knossos

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