2016-08-03 1 views
1

J'ai un problème avec le R.java. Je crée une bibliothèque et fonctionne parfaitement sur Genymotion. Ensuite, je copie le aar de la bibliothèque à mon projet principal. Le projet principal est crash dans le code de la bibliothèque.

Voici le code de ma bibliothèque:

LayoutInflater user = (LayoutInflater)this.mContext.getSystemService("layout_inflater"); 
convertView = user.inflate(layout.item_list_friends, (ViewGroup)null); 

viewHolder = new ListFriendsAdapter.ViewHolder(null); 
viewHolder.imgAvatar = (ImageView)convertView.findViewById(id.imgAvatar); 
viewHolder.textEmail = (TextView)convertView.findViewById(id.textEmail); 
viewHolder.textName = (TextView)convertView.findViewById(id.textName); 
viewHolder.imgFollower = (ImageView)convertView.findViewById(id.imgFollower); 

Android Studio ne génère pas l'id de imgFollower. Voici le fichier R.java:

public static final class id { 
    public static final int imgAvatar = 0x7f0e00fc; 
    public static final int textEmail = 0x7f0e00fe; 
    public static final int textName = 0x7f0e00fd; 
} 

Voici le message d'erreur:

FATAL EXCEPTION: mainjava.lang.NoSuchFieldError: 
com.nexlesoft.twittermodule.R$id.imgFollower 
+0

est-ce dans le xml, avez-vous essayé une reconstruction propre? –

+0

Même si je supprime tout le dossier de construction et que je construis de nouveau pour créer de nouveaux 'aar', ça ne marche toujours pas. La raison est pourquoi il est capable de créer 'imgAvatar',' textEmail', et 'textName' mais pas' imgFollower'? – LuongTruong

Répondre

0

Android Studio does not generate the id of imgFollower

Eh bien findViewById(id.imgFollower); ne générer quoi que ce soit - le dossier de mise en page XML/ressources ne.

Si R.java n'a pas cette ressource, il vous manque un signe plus dans le fichier XML. Par exemple.

android:id="@+id/imgFollower" 

Ou, si vous utilisez un fichier XML de ressources

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item name="imgFollower" type="id"/> 
</resources> 
+0

Merci pour votre réponse. Je l'essaie mais l'erreur est toujours là. Je découvre enfin la raison. Il y a un autre fichier 'aar' qui a le même nom avec la disposition' xml'. – LuongTruong

0

Je trouve la raison. Le message d'erreur n'est pas clair. La raison pour laquelle il ne peut pas trouver l'identifiant est parce qu'il y a un autre fichier aar qui a le même nom.

La solution consiste à renommer la mise en page XML.

Nous vous remercions de votre intérêt!