Ich stehe vor diesem (für mich) seltsamen Problem. Nach ein paar Jahren von Xamarin Studio habe ich mich entschieden, mit dem Plugin für VisualStudio 2015 zu arbeiten. Ich arbeite gerade an einem Projekt für die Feldwartung, also das ist das erste, das ich migriert habe. Nachdem ich einige Probleme mit den RecyclerView- und CardView-Widgets gelöst habe, stehe ich vor diesem neuen Problem, das ich noch nie bei Xamarin Studio gesehen habe. Ich habe dieses einfache Layout für ein ViewHolder-Objekt, das einen Selektor als Hintergrund verwendet. Dies ist der Selektor (res/Farbe/item_bg_selector.xml):VisualStudio 2015 und Xamarin, inflates Fehler
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="#fffff2e6" />
<item android:state_selected="true" android:color="#ffabfdc3" />
<item android:color="@android:color/transparent" />
</selector>
Dies ist der Punkt-Layout (res/layout/rowSpare.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="2dp"
android:background="@color/item_bg_selector">
<TextView
android:id="@+id/tvSpareCode"
android:layout_width="0dp"
android:layout_weight="@integer/spareCode"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvSpareDescription"
android:layout_width="0dp"
android:layout_weight="@integer/spareDescPrice"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvSparePrice"
android:layout_width="0dp"
android:layout_weight="@integer/sparePrice"
android:layout_height="wrap_content"
android:gravity="right"
android:textColor="@color/black"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvSpareQuantity"
android:layout_width="0dp"
android:layout_weight="@integer/spareQuant"
android:layout_height="wrap_content"
android:gravity="right"
android:textColor="@color/black"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
Dies ist der Auszug aus meiner benutzerdefinierten Adapter, wo der Fehler auftritt:
public class adSpareList : RecyclerView.Adapter
{
....
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
{
View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.rowSpare, parent, false);
itemView.Clickable = true;
SpareItemViewHolder vh = new SpareItemViewHolder(itemView, OnClick);
return (vh);
}
}
Jedes Mal, wenn die erste Zeile des OnCreateView ausgeführt, um diesen Fehler gibt:
Unhandled Exception
Android.Views.InflateException: Bonary XML file line #1: Error inflating class <unknown>.
ohne weitere Informationen. Das gleiche Layout funktionierte gut in Xamarin Studio. Wenn ich Android entferne: background = "@ color/item_bg_selector", oder ich ersetze es mit einem einfachen Android: background = "@ android: color/transparent" funktioniert das Ganze ohne Fehler, aber es ist nicht das Ergebnis, das ich zuvor erreicht habe. Jede Hilfe wäre sehr zu schätzen.
Rodolfo.
Wo haben Sie Ihre Wähler setzen? Wenn es sich unter dem Drawable-Ordner befindet, können Sie es vielleicht mit '@ drawable/item_bg_selector' versuchen. –