2016-08-03 15 views
1

Ich habe ein Problem mit der R.java. Ich erstelle eine Bibliothek und läuft perfekt auf Genymotion. Dann kopiere ich die aar der Bibliothek zu meinem Hauptprojekt. Das Hauptprojekt ist ein Absturz im Code der Bibliothek.

Hier ist der Code meiner Bibliothek:

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 erzeugt nicht die ID imgFollower. Hier ist die R.java Datei:

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

Hier wird die Fehlermeldung:

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

ist es in der XML, hast du einen sauberen Wiederaufbau versucht? –

+0

Selbst wenn ich den gesamten Build-Ordner entferne und erneut erstelle, um ein neues 'aar' zu erstellen, funktioniert es immer noch nicht. Die Sache ist, warum es möglich ist, 'imgAvatar',' textEmail' und 'textName' zu ​​erstellen, aber nicht' imgFollower'? – LuongTruong

Antwort

0

Android Studio does not generate the id of imgFollower

Well findViewById(id.imgFollower);nicht etwas erzeugen - die XML-Layout/Ressourcen-Ordner der Fall ist.

Wenn R.java diese Ressource nicht besitzt, fehlt ein Pluszeichen im XML. Beispielsweise.

android:id="@+id/imgFollower" 

Oder, wenn Sie eine Ressource XML-Datei verwenden

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

Vielen Dank für Ihre Antwort. Ich versuche es aber der Fehler ist immer noch da. Ich finde endlich den Grund heraus. Es gibt eine andere'Aar'-Datei, die den gleichen Namen mit dem 'xml'-Layout hat. – LuongTruong

0

ich den Grund herauszufinden. Die Fehlermeldung ist unklar. Der Grund, warum es die ID nicht herausfinden kann, ist, weil es eine andere aar Datei gibt, die den gleichen Namen hat.

Die Lösung besteht darin, das XML-Layout umzubenennen.

Vielen Dank für Ihr Anliegen!