Android Studio Unresolved reference

Si tout est en ordre dans votre application et que les fichiers layout ou id sont bien présents, cette erreur est sûrement dû à un mauvais import dans votre classe.

Allez voir dans l'en-tête du fichier classe et regardez les importations.


import android.os.Bundle
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.navigation.NavigationView
...
import android.R //Ligne fautive

Android Studio importe parfois automatiquement le mauvais paquet...

En réalité quand vous écrivez R.layout.activity_main, implicitement vous pointez vers le paquet de votre application. Par exemple, com.votre.paquet

En important android.R le compilateur pense que votre layout activity_main est dans le paquet android.R. Or, ce n'est pas le cas et donc il y a une erreur de compilation de type Unresolved reference.

En mettant, com.votre.paquet.R.layout.activity_main Android Studio vous mettra une alerte de type Redundant qualifer name.

En revanche, si vous importez à nouveau android.R et que vous mettez le chemin complet du fichier ou de l'id, il n'y aura ni alertes, ni erreurs de compilation. Le compilateur pointera bien vers le paquet de votre application.

Commentaires