Leggere in inglese

Condividi tramite


Avviso .NET per Android XA1005

Messaggi di esempio

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.

Problema

Quando le associazioni di layout e code-behind sono abilitate, questo avviso verrà generato per ogni elemento di layout con l'attributo //*/@android:id impostato e usa un nome completo per il tipo di elemento.

Ad esempio, l'avviso verrà generato per entrambi gli elementi seguenti:

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

Ma non verrà generato per gli elementi che usano solo un nome di classe non qualificato, ad esempio:

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

Il "nome del tipo di base corrispondente" tenta di assicurarsi che qualsiasi nome di tipo completo sia un nome C# anziché un nome Java. Prima di tutto controlla un breve elenco di mapping noti tra gli spazi dei nomi Java e gli spazi dei nomi C#, ad esempio il mapping di android.view a Android.Views. Per tutti gli spazi dei nomi rimanenti, divide lo spazio dei nomi in . e maiuscolo per ogni parte.

Soluzione

Per risolvere questo avviso, modificare ogni elemento in modo da usare il nome della classe C# non qualificato o aggiungere un xamarin:managedType attributo a ogni elemento per specificare il nome C# completo.