5

カスタム アダプタを使用して MvxListView を作成しましたが、どのアダプタ メソッドも呼び出されません。リストがフラグメントになっていることに注意してください。私は何を間違っていますか?

アダプタ:

public class WishlistAdapter : MvxAdapter
{
    public WishlistAdapter(Context context, IMvxAndroidBindingContext bindingContext)
        : base(context, bindingContext)
    {
    }

    protected override View GetBindableView(View convertView, object source, int templateId)
    {
        if (((Wish)source).IsOwner == false)
        {
            if (((Wish)source).IsBought)
            {
                templateId = Resource.Layout.listitem_wishbought;
            }
        }

        return base.GetBindableView(convertView, source, templateId);
    }
}

意見:

    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        base.OnCreateView(inflater, container, savedInstanceState);

        var view = this.BindingInflate(Resource.Layout.WishlistView, null);

        var list = view.FindViewById<ListView>(Resource.Id.WishlistView_ListWishes);
        list.Adapter = new WishlistAdapter(Activity, (MvxAndroidBindingContext)BindingContext);

        return view;
    }

ビューモデル:

    public ObservableCollection<Wish> Wishes
    {
        get
        {
            return _Wishes;
        }
        set
        {
            _Wishes = value;
            RaisePropertyChanged("Wishes");
        }
    }

修繕:

    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        base.OnCreateView(inflater, container, savedInstanceState);

        var view = this.BindingInflate(Resource.Layout.WishlistView, null);

        var list = view.FindViewById<**MvxListView**>(Resource.Id.WishlistView_ListWishes);
        list.Adapter = new WishlistAdapter(Activity, (MvxAndroidBindingContext)BindingContext);

        return view;
    }
4

0 に答える 0