ArrayAdapter の Xamarin 実装では、すべてのメソッドが virtual/override とマークされています (カスタム アダプターを許可)。
[Register("getItem", "(I)Ljava/lang/Object;", "GetGetItem_IHandler")]
public override Object GetItem(int position);
[Register("getItemId", "(I)J", "GetGetItemId_IHandler")]
public override long GetItemId(int position);
[Register("getPosition", "(Ljava/lang/Object;)I", "GetGetPosition_Ljava_lang_Object_Handler")]
public virtual int GetPosition(Object item);
ただし、ジェネリック クラスでは、それらは virtual/override とマークされていません (ジェネリック カスタム アダプターを防止します)。
[Register("add", "(Ljava/lang/Object;)V", "GetAdd_Ljava_lang_Object_Handler")]
public void Add(T @object);
[Register("createFromResource", "(Landroid/content/Context;II)Landroid/widget/ArrayAdapter;", "")]
public static ArrayAdapter<Java.Lang.ICharSequence> CreateFromResource(Context context, int textArrayResId, int textViewResId);
[Register("getItem", "(I)Ljava/lang/Object;", "GetGetItem_IHandler")]
public T GetItem(int position);
なんで?これはバグですか?