Получить текущую дату в диалоге выбора даты
Я хочу получить текущую дату в диалоге выбора даты, когда пользователь нажимает, но она не работает. Дата по умолчанию не меняется на текущую. Что я делаю не так в своем коде?
Calendar mcurrentDate = Calendar.getInstance();
int day = mcurrentDate.get(Calendar.DAY_OF_MONTH);
int month = mcurrentDate.get(Calendar.MONTH);
int year = mcurrentDate.get(Calendar.YEAR);
DatePickerDialog dpd;
dpd = new DatePickerDialog(getActivity(), 0,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int month, int day) {
// TODO Auto-generated method stub
dateTxtVu.setText("Date: " + day + "-" + month
+ "-" + year);
dateStr = day + "-" + month + "-" + year;
}
}, day, month, year);
dpd.show();
1 ответ
Решение
Вы передаете значения в неправильном порядке. Вам необходимо передать значения в следующем порядке:
public DatePickerDialog(Context context, int theme, OnDateSetListener listener, int year,
int monthOfYear, int dayOfMonth)
Измените это так:
Calendar mcurrentDate = Calendar.getInstance();
int day = mcurrentDate.get(Calendar.DAY_OF_MONTH);
int month = mcurrentDate.get(Calendar.MONTH);
int year = mcurrentDate.get(Calendar.YEAR);
DatePickerDialog dpd;
dpd = new DatePickerDialog(getActivity(), 0,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int month, int day) {
// TODO Auto-generated method stub
dateTxtVu.setText("Date: " + day + "-" + month
+ "-" + year);
dateStr = day + "-" + month + "-" + year;
}
}, year, month, day);
dpd.show();
year
идет первым, чем month
а также day
напоследок.