gpt4 book ai didi

android-layout - MvvmCross : dynamic item template selection for MvxListView

转载 作者:行者123 更新时间:2023-12-04 18:09:39 24 4
gpt4 key购买 nike

如果我有一个具有以下 MvxListView 定义的 View :

<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,是否可以根据我想在此 View 中显示的数据类型动态设置它?我正在寻找与 WPF 的 DateTemplateSelector 类似的功能。

TIA。

最佳答案

您必须使用自定义适配器来执行此操作。

一些示例展示了如何使用细胞类型选择。看:

  • https://github.com/slodge/MvvmCross-Tutorials/tree/master/Working%20With%20Collections 中的多态列表
  • https://github.com/slodge/MvvmCross-Tutorials/tree/master/Sample%20-%20CirriousConference 中的 session ListView 中的分组列表

  • 例如来自 PolymorphicListItemTypesView.cs
            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);
    }

    对于 Android,还有一个优化应该添加到现有的多态适配器示例中 - 包括使用 GetItemViewType为了更好 convertView重用 - 见 https://github.com/slodge/MvvmCross/issues/333

    这个问题链接到:
  • Several item templates in one listbox in mvvmcross Android
  • getViewTypeCount and getItemViewType methods of ArrayAdapter
  • 关于android-layout - MvvmCross : dynamic item template selection for MvxListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17714331/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com