Android için .NET uyarısı XA1005

Örnek iletiler

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.

Sorun

Düzen Bağlamaları ve Arka Plandaki Kod etkinleştirildiğinde, bu uyarı, //*/@android:id özniteliği ayarlanmış ve öğe türü için tam nitelikli ad kullanan her düzen öğesi için üretilecektir.

Örneğin , uyarı aşağıdaki öğelerin her ikisi için de gönderilir:

<android.widget.TextView
    android:id="@+id/text1" />
<Android.Widget.TextView
    android:id="@+id/text2" />

Ancak yalnızca nitelenmemiş bir sınıf adı kullanan öğeler için üretilmeyecektir, örneğin:

<TextView
    android:id="@+id/text1" />

"Temel tür adı eşleştirme", tüm tam tür adlarının Java adı yerine C# adı olmasını sağlamaya çalışır. İlk olarak Java ad alanları ile C# ad alanları arasındaki bilinen eşlemelerin kısa bir listesini denetler; örneğin ile eşlemesi android.viewAndroid.Views. Kalan tüm ad alanları için, ad alanını . üzerinde böler ve her bir parçayı büyük harfle başlatır.

Çözüm

Bu uyarıyı çözmek için, her öğeyi nitelenmemiş C# sınıf adını kullanacak şekilde değiştirin veya her öğeye bir öznitelik ekleyerek xamarin:managedType tam C# adını belirtin.