在 Android 项目中,我尝试使用 MvvmCross 的 CrossLight 部分添加数据绑定。与标准 TextView/Buttons 的绑定效果很好。但最简单的 Mvx.Control 标记:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
<Mvx.MvxListView />
</LinearLayout>
给出错误
"Binary XML file line #1: Error inflating class Mvx.MvxListView"
同样的事情是Mvx.Spinner
。但是,当从代码中实例化它时Activity.OnCreate
:
_bindingContext = new MvxAndroidBindingContext(this, new LayoutInflaterProvider(LayoutInflater), _viewModel);
var view = (LinearLayout)_bindingContext.BindingInflate(Resource.Layout.Main, null);
SetContentView(view);
var spinner = new MvxSpinner(this, null, new MvxAdapter(this, _bindingContext));
view.AddView(spinner);
一切都很好(包括绑定)。我究竟做错了什么?一般情况下是否支持这种情况?或者也许我应该引用除 nuget 之外的任何其他内容MvvmCross.HotTuna.CrossCore
?
PS 在github和N+1 个视频上都没有找到任何带有自定义控件和 CrossLight 的示例