изменить формат отображения даты, дня и месяца в Android DatePickerDialog

Я хочу настроить этот формат отображения дня, даты и месяца в формате EEEE d, MMMM.

Диалог выбора даты

Заранее спасибо.


person Abhishek    schedule 13.10.2017    source источник
comment
означает, как вы хотите настроить .. каков ваш ожидаемый результат.   -  person Gowthaman M    schedule 13.10.2017
comment
@GowthamanM Я ожидаю пятницу, 13 октября вместо пятницы, 13 октября   -  person Abhishek    schedule 13.10.2017


Ответы (1)


Это вполне логично. Вы можете попробовать это

public static class EndDatePickerFragment extends DialogFragment
            implements DatePickerDialog.OnDateSetListener {

        public AdvancedSearchFragment instant;
        public int dd = 0, mm, yyyy;

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the current date as the default date in the picker
            if (dd == 0) {
                final Calendar c = Calendar.getInstance();
                yyyy = c.get(Calendar.YEAR);
                mm = c.get(Calendar.MONTH);
                dd = c.get(Calendar.DAY_OF_MONTH);
            }

            DatePickerDialog dpd = new DatePickerDialog(getActivity(), this, yyyy, mm, dd);
            // Added all possible null conditions
            ((TextView)((LinearLayout)((LinearLayout)((LinearLayout)((DatePicker)dpd.getDatePicker()).getChildAt(0)).getChildAt(0)).getChildAt(0)).getChildAt(1)).setText("My Date");
            return dpd;
        }

        public void onDateSet(DatePicker view, int year, int month, int day) {
            // Do something with the date chosen by the user
            instant.doSetEndTime(year, month + 1, day);
        }
    }

В этой строке ниже будет установлено значение пятницы, 13 октября.

((TextView)((LinearLayout)((LinearLayout)((LinearLayout)((DatePicker)dpd.getDatePicker()).getChildAt(0)).getChildAt(0)).getChildAt(0)).getChildAt(1)).setText("My Date");

Если вы хотите изменить формат 2017 года, используйте ниже

((TextView)((LinearLayout)((LinearLayout)((LinearLayout)((DatePicker)dpd.getDatePicker()).getChildAt(0)).getChildAt(0)).getChildAt(0)).getChildAt(0)).setText("My Year");

Таким образом, вместо My Date вы можете использовать формат даты и установить дату по своему усмотрению.

Я надеюсь, это поможет!

person Alpesh Sorathiya    schedule 13.10.2017