Я создаю игру по угадыванию дня рождения, которая принимает даты ввода пользователем из поля DatePickerDialog, которое появляется, когда пользователь касается поля textView. Единственная проблема заключается в том, что минимально допустимая дата - первое число 1900 года. Мне нужно иметь доступ к датам с 1700 года. Есть ли способ настроить минимальную дату, отображаемую в DatePickerDialog.
Это то, что у меня есть в моем файле main.java
//Date Bar initial display (will display current date)
mDisplayDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(GuessMaster.this,
android.R.style.Theme_Holo_Light_Dialog_MinWidth,
mDateSetListener, year, month, day);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
}
});
//Date Bar Input Listener
mDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
month+=1;// now will treat january as 1 instead of 0
String date = month+"/"+dayOfMonth+"/"+year;
mDisplayDate.setText(date);
Log.d(TAG, "onDateSet:"+year+"/"+month+"/"+dayOfMonth);
}
Спасибо




Попробуйте следующее:
dialog.getDatePicker().updateDate(year,month,day);
StackOverflow стремится получить качественные ответы на вопросы, чтобы они могли в долгосрочной перспективе помочь сообществу. Измените свой ответ, чтобы добавить дополнительные пояснения и подробности. См. Как мне написать хороший ответ и Как мне отформатировать свои сообщения. Например, поставьте перед фрагментами кода 4 пробела, чтобы они выглядели как code.
Вы, наверное, уже смотрели XML-атрибут
minDateDatePicker? Что произойдет, если вы установите его на01/01/1700?