Android Не удается разрешить символ '? Attr/selectableItemBackground'

<android.support.v7.widget.CardView
    android:id="@+id/card_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/card_outer_padding"
    android:layout_marginTop="@dimen/card_outer_padding"
    android:layout_marginRight="@dimen/card_outer_padding"
    android:layout_marginBottom='@{model.cardBottomMargin}'
    android:foreground="?attr/selectableItemBackground"
    android:onClick="@{model::onCardClick}"
    app:cardElevation="2dp"
    app:cardCornerRadius="2dp"
    app:cardUseCompatPadding="true">
</android.support.v7.widget.CardView>

Я получил сообщение об ошибке

Невозможно разрешить символ ?attr/selectableItemBackground Проверяет ссылки на ресурсы в файлах Android XML.

<TextView
    android:id="@+id/country_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginRight="40dp"
    android:text="@{model.name}"
    style="@style/TextAppearance.AppCompat.Headline"
    tools:text="Country"/>

И я получил аналогичную ошибку для выше, а также

Невозможно разрешить символ '@style/TextAppearance.AppCompat.Headline'
Проверяет ссылки на ресурсы в файлах Android XML.

Любой указатель будет замечательным! Спасибо! Кажется, что это связано с этой нитью, но решение не было предоставлено:

Ответ 1

Я считаю, что это проблема связи с плагином IDE и Android Gradle. В любом случае единственный способ, которым я надежно найден разрешить, - это удалить проблемные библиотеки в папке .idea/libraries/.

Итак, для вас, поскольку проверки lint не распознают ?attr/selectableItemBackground

  • LOCATE Gradle__com_android_support_xxx.xml файлы
  • УДАЛИТЬ эти файлы
  • SYNC IDE с файловой системой
  • Проект SYNC с Gradle файлами
  • ОТПРАВИТЬ ваш проект

Вы можете синхронизировать, нажав на "Файл" вверху на панели инструментов и выбрав "Синхронизировать с файловой системой", а затем выбрав "Синхронизировать проект с Gradle файлами".

Я пробовал другие предлагаемые решения - имел зависимость appcompat-v7 в моем файле build.gradle модуля и репозитории google() в качестве первой строки в зависимостях проекта build.gradle. Нада.

Эти решения также не помогли...

  • Недействительность кэширования/перезапуска не работала.
  • Очистка/Восстановление проекта.

Ответ 2

Для версии Lollipop и выше используйте это:

android:foreground="?android:attr/selectableItemBackground"

для Pre-Lollipop используйте это:

android:foreground="?attr/selectableItemBackground"

Ответ 3

2 варианта:

Опция 1

Другая возможная причина: хранилище Google maven не настроено для сценария сборки.

Откройте основной проект build.gradle и добавьте следующую строку:

buildscript {
    repositories {
        google()  <-- this
        // Be also sure that google() is before jcenter()
    }
}

Без этого он не сможет загрузить плагин Android Studio Gradle 3. 0+. Он распространяется не в jCenter, а в репозитории Google maven.

Вариант 2

Запустите эту команду в корне проекта и повторно синхронизируйте проект

Linux:

rm.idea/libraries/Gradle__com_android_support_*.xml

Окна:

del.idea\libraries\Gradle__com_android_support_*.xml

Ответ 5

Оба ресурса определены в Библиотеке поддержки Android и, поскольку эти символы не могут быть разрешены, кажется, что вам не хватает определения зависимости от поддержки.

dependencies {
    compile "com.android.support:appcompat-v7:$androidSupportVersion"
}

Ответ 6

В моем случае добавьте maven в build.gradle Project в buildscripts.repositories И allprojects.repositories, Это выглядит так:

google()
maven { url 'https://maven.google.com' }
jcenter()

Ответ 7

Я решил,

  • Удаление папки .idea в проводнике проекта.
  • Недействительные кеши/перезапуск
  • Обновить проект Gradle

Ответ 8

Вот что решил для меня:

  1. Закрыть Android Studio
  2. Удалить каталог .idea в корневом каталоге проекта

enter image description here

  1. Реимпортировать проект

enter image description here

Ответ 9

Я обновил свою версию Gradle до 4.10.1 и исправил и восстановил ее. В папке .idea не было папки с библиотеками.