3

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);

なんで?これはバグですか?

4

0 に答える 0