英語で読む

次の方法で共有


Android 用 .NET 警告 XA1005

Example messages (メッセージの例)

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.

問題点

レイアウト バインドと分離コードが有効になっている場合、この警告は、//*/@android:id属性が設定され、要素の種類に完全修飾名を使用するすべてのレイアウト要素に対して出力されます。

たとえば、警告 次の両方の要素に対して出力されます。

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

ただし、次のような修飾されていないクラス名のみを使用する要素出力されません。

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

"基本型名の照合" は、完全修飾型名が Java 名ではなく C# 名であることを確認しようとします。 まず、 android.view から Android.Viewsへのマッピングなど、Java 名前空間と C# 名前空間の間の既知のマッピングの短い一覧を確認します。 残りの名前空間については、 . で名前空間が分割され、各部分が大文字になります。

解決策

この警告を解決するには、修飾されていない C# クラス名を使用するように各要素を変更するか、各要素に xamarin:managedType 属性を追加して完全修飾 C# 名を指定します。