Upozornění .NET pro Android XA1005

Ukázkové zprávy

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.

Problém

Pokud jsou povoleny vazby rozložení a code-behind, bude toto upozornění vydáno pro každý prvek rozložení, který má nastavený atribut a používá plně kvalifikovaný název pro typ elementu.

Upozornění se například vygeneruje pro oba následující prvky:

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

Nebude však emitován pro prvky, které používají pouze nekvalifikovaný název třídy, jako například:

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

"Porovnávání názvu základního typu" má za cíl zajistit, aby jakýkoli plně kvalifikovaný název typu byl název v jazyce C# místo názvu v jazyce Java. Nejprve zkontroluje krátký seznam známých mapování mezi obory názvů Java a obory názvů jazyka C#, jako je například mapování android.view na Android.Views. U všech zbývajících oborů názvů rozdělí obor názvů na části pomocí . a každou část poté začíná velkým písmenem.

Řešení

Chcete-li toto upozornění vyřešit, změňte každý prvek tak, aby používal svůj nekvalifikovaný název třídy jazyka C#, nebo přidejte xamarin:managedType atribut ke každému prvku a zadejte plně kvalifikovaný název jazyka C#.