android #kotlin
#Android #kotlin
Вопрос:
Я следую курсу, и когда я пишу btnDatePicker, я получаю неразрешенную ошибку:
package com.example.ageinminutes
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
btnDatePicker
}
}
Я искал в Интернете и добавил плагин в build.graddle (:app), как видно на разных решениях:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
}
но это все равно не работает.
Любая помощь будет оценена.
Ответ №1:
Ответ by @himel
правильный. Использование синтетики kotlin не рекомендуется.
Однако я заметил, что строки импорта для синтетического представления не было в вашем коде. Я предлагаю ввести представление вручную и импортировать с помощью Android studio, если вы хотите быстро исправить
Комментарии:
1. Где я могу найти код? Ценю
2. Я обновил приведенный выше код с помощью импорта, который я нашел для решения. В любом случае он по-прежнему отображается
btnDatePicker
какUnresolved reference
3. Извините, возможно, мой первоначальный ответ был немного запутанным. Я не имел в виду, что вы вводите импорт. В Android Studio, когда плагин synthetics настроен правильно, ввод идентификатора представления и нажатие
Alt Enter
илиOpt Enter
на Mac автоматически добавит импорт для вас.4. Также убедитесь, что ваш xml имеет представление с соответствующим идентификатором… Посмотрите это, если вы в замешательстве youtube.com/watch?v=OrrOz6D5PEw
5. Пробовали оба решения. синхронизируйте build.gradle с новым кодом. Также попробовал вариант привязки, следуя различным руководствам, но все равно получаю btnDatePicker как неразрешенную ссылку. Даже перезапуск Android Studio. Ни один из вариантов не работает.
Ответ №2:
kotlin-android-extension устарел, вместо этого следует использовать привязку к просмотру.
Следуйте этому: https://developer.android.com/topic/libraries/view-binding/migration#:~:text=Kotlin Android Extensions is deprecated,migrate to Jetpack view binding.
Комментарии:
1. Да, тоже пробовали. Но для курса я должен использовать старый способ. Устаревание не означает, что оно не работает. Итак, это должно быть правильно?