web-dev-qa-db-fra.com

Android ne peut pas résoudre le symbole '? 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>

J'ai eu ce message d'erreur 

Impossible de résoudre le symbole ?attr/selectableItemBackground Valide les références de ressources dans les fichiers XML Android.

<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"/>

Et, j'ai une erreur similaire pour ce qui précède aussi

Impossible de résoudre le symbole '@ style/TextAppearance.AppCompat.Headline'
Valide les références de ressources dans les fichiers XML Android.

Tout pointeur serait génial! Merci! Il semble être lié à ce thread mais aucune solution n’a été fournie:

51
Jun711

Je pense que c'est un problème de communication avec IDE et Android Gradle Plugin. Dans tous les cas, la seule façon pour de manière fiable de résoudre consiste à supprimer les bibliothèques problématiques du dossier .idea/libraries/.

Donc, pour vous, puisque les contrôles de charpie ne reconnaissent pas ?attr/selectableItemBackground

  1. LOCALISEZ les fichiers Gradle__com_Android_support_xxx.xml
  2. SUPPRIMER ces fichiers
  3. SYNC IDE avec système de fichiers
  4. Projet SYNC avec fichiers Gradle
  5. RECONSTRUIRE votre projet

Vous pouvez synchroniser en cliquant sur «Fichier» en haut de la barre d’outils et en sélectionnant «Synchroniser avec le système de fichiers», puis en sélectionnant «Synchroniser le projet avec des fichiers de dégradés».

J'ai essayé d'autres solutions suggérées - la dépendance appcompat-v7 dans le fichier build.gradle de mon module et le référentiel google() en tant que première ligne des dépendances du projet build.gradle. Nada.

Ces solutions n'ont pas non plus aidé ...

  • Invalider les caches/redémarrer n'a pas fonctionné.
  • Nettoyage/Reconstruction du projet.
141
wooldridgetm

Pour les versions Lollipop et supérieures, utilisez ceci:

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

pour Pre-Lollipop utiliser ceci:

Android:foreground="?attr/selectableItemBackground"
44
V.Y.

2 options:

Option 1

Une autre raison possible est que: le référentiel maven de Google n'est pas défini pour le script de construction.

Ouvrez le build.gradle principal de votre projet et ajoutez cette ligne:

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

Sans cela, il ne sera peut-être pas en mesure de télécharger Android Studio Gradle plugin 3.0+. Ce n'est pas distribué dans jCenter mais dans le maven de Google dépôt.

Option 2

Exécuter cette commande à la racine du projet et resynchroniser le projet

Linux:

rm .idea/libraries/Gradle__com_Android_support_*.xml

Les fenêtres:

del .idea\libraries\Gradle__com_Android_support_*.xml

9
HerberthObregon

J'ai rencontré la même erreur après la mise à jour de Kotlin. Résolu avec "Invalidate caches/Restart"


UPDATE Aujourd'hui, cette solution ne m'a pas aidé. Mais la solution de cette question a: Android Studio 3.1 ne peut pas résoudre le symbole (thèmes, widget, attr, etc.)

4
Zakir

Les deux ressources sont définies avec la bibliothèque de support Android et, comme ces symboles ne peuvent pas être résolus, il semble qu'il vous manque la définition de la dépendance au support.

dependencies {
    compile "com.Android.support:appcompat-v7:$androidSupportVersion"
}
2
tynn

C'est ce qui m'a résolu:

  1. Fermer Android Studio
  2. Supprimer le répertoire .idea dans le répertoire du projet racine

 enter image description here

  1. Réimporter le projet

 enter image description here

0
DragonT

Dans mon cas, aide en ajoutant maven à build.gradle Project dans buildscripts.repositories AND allprojects.repositories . Cela ressemble à ceci:

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

J'ai résolu par,

  • Suppression du dossier .idea dans l'explorateur de projet.
  • Invalider les caches/redémarrer
  • Actualiser le diplôme du projet
0
Nazeer Ahamed

J'ai mis à jour ma version de la version 4.10.1 et je l'ai réparée puis réimportée. Il n'y avait pas de dossier de bibliothèques sous .idea auparavant.

0
ozge s