我创建了一个带有自定义适配器的 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;
}