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?
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.
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.
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.
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
.
Essayez d’effectuer un nettoyage et une reconstruction en accédant à Build > Clean Project
et Build > Make Project
.
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