Android версия 9: проблема с датой DatePickerDialog - PullRequest
1 голос
/ 07 января 2020

Мое Android нативное приложение работало нормально на старых версиях до 9. Но теперь 9 при выборе даты с SimpleDateFormat("MMM dd, yyyy"); дата выбрана как Янв. 07, 2020 Я не понимаю, откуда после января добавляется . , что приводит к следующей ошибке службы

java.text.ParseException: Unparseable date: "Jan. 07, 2020"

Мой android код

private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.YEAR, year);
            cal.set(Calendar.MONTH, monthOfYear);
            cal.set(Calendar.DATE, dayOfMonth);
            mEditTextDate.setText(getDateFormat(context).format(
                    cal.getTime()));
        }
    };

public DateFormat getDateFormat(Context context) {
        if (dateF == null)
            dateF = new SimpleDateFormat("MMM dd, yyyy");
        return dateF;
    }

Я тестирую на Samsung Galaxy Tablet S6. Я также попытался изменить Настройки -> Общее управление -> Дата и время на Automati c Дата и время. Но тот же код работает на всех других планшетах с MMM dd, формат yyyy

1 Ответ

1 голос
/ 07 января 2020

Вы должны использовать Locale.ENGLISH, чтобы получить желаемую дату. Попробуйте ниже:

dateF = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...