Android layout MvvmCross:MvxListView的动态项目模板选择
如果我有一个具有以下MvxListView定义的视图:Android layout MvvmCross:MvxListView的动态项目模板选择,android-layout,xamarin,mvvmcross,itemtemplate,itemtemplateselector,Android Layout,Xamarin,Mvvmcross,Itemtemplate,Itemtemplateselector,如果我有一个具有以下MvxListView定义的视图: <Mvx.MvxListView android:layout_marginTop="10px" android:textFilterEnabled="true" android:choiceMode="singleChoice" android:layout_width="fill_parent" android:layout_height="fill_parent" android:
<Mvx.MvxListView
android:layout_marginTop="10px"
android:textFilterEnabled="true"
android:choiceMode="singleChoice"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="20dp"
local:MvxBind="ItemsSource Data; ItemClick LaunchCapabilityViewCmd"
local:MvxItemTemplate="@layout/itemtemplate1" />
与将MvxItemTemplate硬编码为itemtemplate1不同,是否可以根据要在此视图中显示的数据类型动态设置它?我正在寻找与WPF的DateTemplateSelector类似的功能
TIA。您必须使用自定义适配器来执行此操作 一些示例演示了如何使用单元格类型选择。见:
- 中的多态列表
- 中的会话列表视图中的分组列表
GetItemViewType
以更好地convertView
重用-请参阅
这些问题与:
protected override View GetBindableView(View convertView, object source, int templateId)
{
if (source is Kitten)
templateId = Resource.Layout.ListItem_Kitten;
else if (source is Dog)
templateId = Resource.Layout.ListItem_Dog;
return base.GetBindableView(convertView, source, templateId);
}