将Xamarin Android与MvvmCross框架结合使用。
我有一个人员列表,每个人都有一个嵌套的宠物列表。 人员显示在ListView中。嵌套的宠物显示在每个人的嵌套ListView中。
如何为每个宠物清单指定一个自定义适配器,以便根据动物类型动物显示动物?
简化课程:
List<Person> People
class Person
{
string Name {get; set; }
bool Sex {get; set; }
List<IAnimal> Pets {get; set; }
}
class Fish: IAnimal
{
string Name {get; set; }
bool HasScales {get; set; }
}
class Bird: IAnimal
{
string Name {get;set; }
bool CanFly {get; set; }
int WingSpan {get; set; }
}
此致
亚瑟
答案 0 :(得分:1)
从UX角度来看,将ListView
放在ListView
内通常是一个坏主意 - 因为两者将独立滚动并独立地使用Touch操作。如果您愿意,可以:
如何为每个宠物清单指定一个自定义适配器,以便根据动物类型动物显示动物?
无论您选择在上面使用哪种方法,都需要掌握MvxListView
或MvxLinearLayout
或其父级中使用FindViewById
的任何方法 - 然后您可以创建和设置适配器 - 请参阅https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/Working%20With%20Collections/Collections.Droid/Views/PolymorphicListItemTypesView.cs
如果Adapter父级本身就是列表视图,那么这意味着您需要提供一个自定义MvxListItemView
作为父级 - 例如了解如何在MvxListView create binding for template layout from code