web-dev-qa-db-fra.com

Android Studio 2.1 Impossible de résoudre le symbole 'R'

Android Studio 2.1, Java V8 Update 91, Gradle 2.1.0.

Je sais que cette question a été posée à plusieurs reprises ici, mais aucune des solutions de recommandation ne fonctionne. 

Soudainement après la compilation, prêt à fonctionner sur Emulator, mon IDE donne une erreur à l'attribut R.id. Tous les fichiers Java provoquent soudainement la même erreur même si je n’apporte aucune modification au fichier.

J'ai essayé de faire un nouveau projet, voir si les choses étaient différentes mais l'erreur continue à venir. Dans mon esprit, cela pourrait encore être une erreur interne. Même je viens de mettre à jour mon IDE tout à l'heure.

Le fichier Java; 

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_science);

    list_View = (ListView) findViewById(R.id.maintable); 
    String[] Days = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"};
    dayList.addAll(Arrays.asList(Days));
    adapter = new ArrayAdapter<>(this, Android.R.layout.simple_list_item_1, dayList);
    list_View.setAdapter(adapter);

    NfcAdapter nfc = NfcAdapter.getDefaultAdapter(this);

    if (nfc.isEnabled()) {
        adapter = new ArrayAdapter<>(this, Android.R.layout.simple_list_item_1, dayList);
        Toast.makeText(this, "NFC turned ON", Toast.LENGTH_SHORT).show();
    }

    else {
        Toast.makeText(this, "Please turn On NFC", Toast.LENGTH_SHORT).show();
    }

}

La R est l'erreur.

Fichier XML associé à Java;

<ListView
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/maintable"
    >
</ListView>

Est-ce, encore une fois, une erreur interne?

4
Infinite Loops

J'essaie de changer la version de Gradle de 2.1.0 à 2.0.0, même sous AS ver 2.1, en ignorant les performances d'Instant Run et son efficacité. La petite erreur R est maintenant partie. Maintenant, j'ai essayé de revenir à la version 2.1.0, l'erreur R a également disparu .. !! Parfois, cette petite chose me rend fou, un peu.

Honte sur moi.

0
Infinite Loops

Essayez de synchroniser le projet, puis sélectionnez Outils> Android> Synchroniser le projet avec des fichiers Gradle.

METTRE &AGRAVE; JOUR

Si vous utilisez Android Studio 3.3, utilisez l'icône Sync Project with Gradle Files.

 enter image description here

12
Hadas Kaminsky

Je viens de traverser ce cauchemar. Nous avons fini par supprimer tout le code xml dans le bloc-notes jusqu'à ce qu'il soit corrigé. Puis des sections de code ont été réintroduites jusqu'à ce que le problème apparaisse… .. En y repensant, tout a commencé lorsque j'ai collé du code avec WordPad. Apparemment, WordPad contient un code différent ou quelque chose de trop à éviter. Quoi qu'il en soit, il suffit de vérifier votre espace blanc au format xml en le supprimant pour vous débarrasser de tous les caractères cachés.

2
Chris S

Parfois, la classe R.Java n'est pas créée en cas d'erreur dans un fichier xml (comme activity_main.xml). Par exemple, si vous modifiez un nom d'attribut qui a un mot réservé qui ne peut pas être modifié ... comme ceci: si vous avez modifié l'attribut appelé: id en un autre nom, comme
id_A_Word_With_Error_Here dans ce code pouvant faire partie du fichier activity_main.xml, votre erreur (classe R non créée) peut survenir.

<Android.support.v7.widget.RecyclerView
            Android:id="@+id/messageRecyclerView"

et il y a une erreur comme:

  <Android.support.v7.widget.RecyclerView
            Android:id_A_Word_With_Error_Here="@+id/messageRecyclerView"

Si nettoyer, la reconstruction n'a pas fonctionné et qu'il n'y a pas d'erreur d'importation telle que import com.something..., ma suggestion est de rechercher une erreur dans les fichiers xml.

1
Gustavomcls

J'ai vu ce problème plusieurs fois. La bonne solution est:

Lorsque vous tapez R, Android Studio vous donnera de nombreux espaces-noms différents pour choisir R, qui ressemblent à R(***.***.***), mais ce dont vous avez vraiment besoin est l'espace de noms qui se termine par ***.myProject. (Remarque: myProject est le nom de votre projet), par exemple: R(com.example.milka.demoProject).

Si vous choisissez un autre espace de noms, vous obtiendrez le message d'erreur. Vous devrez donc supprimer le import inutile et choisir à nouveau votre R.

1
jiar wang

Essayez d’effectuer un nettoyage et une reconstruction en accédant à Build > Clean Project et Build > Make Project.

1
Munaz

Peut-être que l'erreur peut entraîner pour les outils d'essayer d'installer Android SDK Build Tools à partir de Outils> Android> Gestionnaire de SDK . >> Importer com.example.MyApplication.R; .__ ou vous pouvez également nettoyer o reconstruire votre projet dans Construire> Nettoyer le projet ou Construire> Reconstruire le projet

0
Gladys Sanchez