.NET für Android-Warnung XA1005
warning XA1005: Attempting basic type name matching for element with ID '@+id/text1' and type 'android.widget.TextView'
warning XA1005: If basic type name matching fails, please add a `xamarin:managedType` attribute to the element to specify the fully qualified managed type name of the element.
Wenn Layoutbindungen und CodeBehind aktiviert sind, wird diese Warnung für jedes Layoutelement mit dem //*/@android:id
Attributsatz ausgegeben und verwendet einen vollqualifizierten Namen für den Elementtyp.
Die Warnung wird beispielsweise für beide der folgenden Elemente ausgegeben:
<android.widget.TextView
android:id="@+id/text1" />
<Android.Widget.TextView
android:id="@+id/text2" />
Es wird jedoch nicht für Elemente ausgegeben, die nur einen nicht qualifizierten Klassennamen verwenden:
<TextView
android:id="@+id/text1" />
Der "grundlegende Typnamenabgleich" versucht sicherzustellen, dass jeder vollqualifizierte Typname ein C#-Name und kein Java-Name ist. Zunächst wird eine kurze Liste bekannter Zuordnungen zwischen Java-Namespaces und C#-Namespaces überprüft, z. B. die Zuordnung von android.view
zu Android.Views
. Für alle verbleibenden Namespaces teilt er den Namespace auf .
und schreibt jeden Teil groß.
Um diese Warnung zu beheben, ändern Sie jedes Element so, dass er seinen nicht qualifizierten C#-Klassennamen verwendet, oder fügen Sie jedem Element ein xamarin:managedType
Attribut hinzu, um den vollqualifizierten C#-Namen anzugeben.