Как получить месяц и год из DatePickerDialog?

Вот мой код:

    public DatePickerDialog CREATE_DATEPICKER_DIALOG() {
        int themeResId = 2;
        datePickerDialog = new DatePickerDialog(this, themeResId, null, 2018, 1, 1);
        datePickerDialog.getDatePicker().setMinDate(get_min_calendar);
        datePickerDialog.getDatePicker().setMaxDate(get_max_calendar);

        try {
            // Hide selected day.
            ((ViewGroup) datePickerDialog.getDatePicker()).findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE);
            datePickerDialog.updateDate(datePickerDialog.getDatePicker().getYear(), datePickerDialog.getDatePicker().getMonth(), 0);
            datePickerDialog.setTitle("Change Month");
            datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    if (which==DialogInterface.BUTTON_POSITIVE){
                    TXT_MONTH.setText("MONTH_HERE");<----- datePickerDialog.getDatePicker().getMonth();
                    TXT_YEAR.setText("YEAR_HERE");<-----datePickerDialog.getDatePicker().getYear();
                    }else{

                    }
                }

            });
        } catch (Exception e) {
            e.printStackTrace();
        }

        return datePickerDialog;
}

Я использовал datePickerDialog.getDatePicker().getMonth(); и datePickerDialog.getDatePicker().getYear();

Но это не работает. Любая помощь будет оценена по достоинству. Я просто хочу получить месяц и год, используя приведенный выше DatePickerDialog.

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

Что именно не работает?

finki 09.11.2018 10:06

вы можете разместить код своего DatePickerDialog?

Gratien Asimbahwe 09.11.2018 10:11

Я не могу получить значение выбранного месяца и года

Sigrid Langenberg 11.11.2018 05:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
126
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Решение: Я бы посоветовал вам использовать другой DatePickerDialog, который я сейчас использую и в своем проекте. Это легко использовать, следуйте инструкциям:

Шаг 1: Добавьте зависимость в свой Gradle (уровень приложения):

implementation('com.wdullaer:materialdatetimepicker:3.3.0') {
    exclude group: 'com.android.support'
}

Шаг 2: Используйте его в своем приложении:

try {
    Calendar now = Calendar.getInstance();

    DatePickerDialog dpd = DatePickerDialog.newInstance(

            new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
                    .......
                    // Get Year, Month and Day from the parameter here when you select and date.
                    .......
                }
            },
            now.get(Calendar.YEAR),
            now.get(Calendar.MONTH),
            now.get(Calendar.DAY_OF_MONTH)
    );
    dpd.setAccentColor(ContextCompat.getColor(FilterForLoadBoardActivity.this, R.color.colorPrimary));
    dpd.setMinDate(now);
    dpd.show(getFragmentManager(), "Datepickerdialog");
    return;
} catch (Exception e) {
    e.printStackTrace();
}

Наконец-то: Ваш метод должен выглядеть так:

public DatePickerDialog CREATE_DATEPICKER_DIALOG() {
......
......
......
DatePickerDialog dpd;

try {
Calendar now = Calendar.getInstance();

dpd = DatePickerDialog.newInstance(new DatePickerDialog.OnDateSetListener() {
             @Override
             public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
                 .......
                 // Get Year, Month and Day from the parameter here when you select and date.
                 .......
                 }
             },
             now.get(Calendar.YEAR),
             now.get(Calendar.MONTH),
             now.get(Calendar.DAY_OF_MONTH)
         );
        dpd.setAccentColor(ContextCompat.getColor(FilterForLoadBoardActivity.this, R.color.colorPrimary));
        dpd.setMinDate(now);
        dpd.show(getFragmentManager(), "Datepickerdialog");
     } catch (Exception e) {
        e.printStackTrace();
     }
     return dpd;
}

Попробуйте, надеюсь, это поможет.

Ответ принят как подходящий

Попробуй это

TXT_MONTH.setText (месяцев [datePickerDialog.getDatePicker (). GetMonth ()]); TXT_YEAR.setText (Integer.toString (datePickerDialog.getDatePicker (). GetYear ()));

какие месяцы?

Sigrid Langenberg 14.11.2018 02:25

строка месяцев [] = {"январь", "февраль", "и т. д."}

Ronaldo Dewey Rimas Bautista 14.11.2018 02:26

Другие вопросы по теме