MvvmCross:如何使用自定义适配器以编程方式构造MvxListView?

时间:2013-05-26 14:27:14

标签: android xamarin.android xamarin mvvmcross

我正在尝试在Android上实现类似于iOS的分组列表视图。因此,我正在尝试编写自己的自定义MvxAdapter,它支持分组的节标题。从axml构造的默认MvxListView将创建默认的MvxAdapter。由于我需要提供自己的自定义MvxAdapter,我需要以编程方式创建MvxListview,以便我可以传入自己的适配器。我遇到的问题是在我的android视图的OnCreate时,我尝试构建我的自定义MvxAdapter,从

检索到的Android绑定上下文为null
MvxAndroidBindingContextHelpers.Current()

是否有使用v3 API自定义MvxAdapter以编程方式构建MvxListView的示例?

1 个答案:

答案 0 :(得分:5)

没有以编程方式创建MvxListView的示例 - 几乎所有Android UI控件都是在当前示例的axml中创建的。

为了创建自定义适配器,有一些示例,包括:


或者,您当然可以从CustomListView继承MvxListView,然后可以将自定义适配器作为构造函数的一部分传递。

有关创建和使用自定义视图的详情,请参阅http://slodge.blogspot.co.uk/2013/05/n18-android-custom-controls-n1-days-of.html


如果您确实想要将上下文推送到堆栈,可以使用以下方法执行此操作:

  using (new MvxBindingContextStackRegistration<IMvxAndroidBindingContext>(**TheContext**))
  {
      // create your controls here
  }

这正是xaml通胀期间发生的事情 - 请参阅:https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross.Binding.Droid/BindingContext/MvxAndroidBindingContext.cs#L47

相关问题