Попытка открыть диалоговое окно выбора даты при нажатии на текст редактирования, но при этом отображается ошибка - PullRequest
0 голосов
/ 01 марта 2020

Скриншот моего кода был прикреплен ниже

Я пытаюсь открыть средство выбора даты при нажатии на текст редактирования. Но оно показывает мне ошибку в первых двух параметрах функции datepickerdialog.

ПАРАМЕТР 1 (контекст): Ожидаемый: android .content.Context Факт: this

ПАРАМЕТР 2 (слушатель): Ожидается: android ... OnDateSetListener Факт: this

Я прикрепил скриншот моего кода выше ^

Пожалуйста и спасибо!

enter image description here

1 Ответ

0 голосов
/ 01 марта 2020

Это другой контекст , который означает, что вы используете эту функцию в классе прослушивателя анонимных кликов, и когда вы передаете this, он будет воспринимать этот контекст не как родительский или класс деятельности в вашем случае. просто внесите небольшое изменение, как показано ниже:

DatePickerDialog dialog = new DatePickerDialog(MainActivity.this, MainActivity.this, mYear, mMonth, mDay);
datePickerDialog.show();

, если коротко сказать this, тогда он передаст текущий контекст, который является контекстом прослушивателя щелчка, в вашем случае, и Dialog нужен контекст Activity, поэтому вместо этого используйте MainActivity.this чтобы указать на основной контекст деятельности. В Kotlin этот контекст будет называться this@MainActivity

...