Android Studio 3.1.3 - Нерешенные ссылка: R - Котлин

Тамим Attafi:

Я новичок в Котлин, я преобразовал некоторый код из Java, но кажется, что есть что-то неправильно, R в findViewById (R.id.my_id) выделена красным цветом, и он показывает это сообщение: «Нерешенные ссылка: R» .. Я искал решение, но я, кажется, не понять его, так что я должен делать? Вот скриншот:

введите описание изображения здесь

Тамим Attafi:

Проблема может быть вызвана многими факторами,

  • как уже упоминалось martomstom в этом Ответ проблема иногда вызывается com.android.tools.build:gradleверсии, изменяя его в версии на более стабильную бы решить эту проблему: например: com.android.tools.build:gradle:3.4.0-alpha02сcom.android.tools.build:gradle:3.2.1
  • Кроме того , наличие библиотеки из той же группы, но с разными версиями может вызвать проблемы , или даже больше , во время выполнения ошибок. использовать исключение групповой метод , как в следующем: implementation('com.squareup.picasso:picasso:2.71828') { exclude(group: 'com.android.support') }в этом случае Picasso библиотеки использует android.support компонентов, андроид версия библиотеки используется в Picasso отличается от того, что вы используете в своем приложении, поэтому для того , чтобы решить эту проблему, мы должны исключить его полностью из его подразделов библиотеки и групп классов.

  • Это также может произойти из-за несоответствия ресурсов и кода, в том числе это импорт линии в вашей деятельности может решить проблему слишком: import com.package.name.R

  • Иногда это может произойти из-за IDE, исполнений или память .. Очистка проекта время от времени может сэкономить некоторое время на Android Studio это будет что - то вроде этого: Build -> Clean Project / Rebuild Project - Очистка IDE денежных средств также помогает с производительностью и памятью на Android Студия это будет выглядеть следующим образом :File-> Invalidate Chases/ Restart -> Invalidate Cashes and Restart
  • Я заметил, что эта проблема происходит со мной большую часть времени при импорте новых ресурсов, используя запрещенные символы в именах уволит ошибку, например, . , , - , UpperCase or special Letters
  • И как предложение, если вы используете Котлин , я действительно рекомендую использовать расширения Котлин в вашей деятельности , таких как: импорт kotlinx.android.synthetic.main.activity_page.*или если вы используете пользовательский вид: kotlinx.android.synthetic.main.view_layout.view.* после этого , в onCreat () метод деятельности, вы будете только назвать идентификатор, например: my_edit_text_ID.text = "Kotlin Dbest!"или из пользовательского вида:mCostumView.my_edit_text_ID.text = "Kotlin Dbest!"

РЕДАКТИРОВАТЬ :

  • Я столкнулся эта проблема againe и проблема была «» R «» библиотека была импортирована из 2 источников:

    com.android.R

    com.example.package.R

    Вы должны импортировать только «» R «» библиотеку с именем пакета приложения, в этом случае com.example.package.R иногда библиотека не импортированный вообще, чтобы импортировать его, нажмите на неразрешенной ссылке Rи нажмитеAlt + Enter

РЕДАКТИРОВАТЬ:

Как tobltobs упоминалось в разделе комментариев: ". Большую часть времени эта проблема вызвана другой ошибкой , которая предотвращает систему сборки от создания сгенерированных источников Чтобы найти первопричины взгляд на Gradle траектории („значок переключения зрения“ниже из зеленый молоток на выходе сборки) и внешний вид на наличие ошибок , не связанных с R или BuildConfig (также генерируется). Если нет другой ошибки влево и проблема с R сохраняется , то , возможно , что - то из этого списка может помочь ".

рекомендация

отhttp://43.154.161.224:23101/article/api/json?id=37909&siteId=1