我试图在Android ListView中定义一个复合列表项,但它似乎过于复杂。 (我的意思是我在列表视图中从多个视图/控件组成每个项目的位置)
在Xaml中,这非常简单和干净。是的,我知道不幸的是Android不支持绑定,但我正在寻找在Android中实现这一目标的最佳方法。
XAML示例:
<ListBox ItemsSource="{Binding Days}" x:Name="DataList">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding DateString}" x:Name="DateBox" />
<TextBlock Text="{Binding Name}" x:Name="NameBox"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
如果您了解Xaml,那么除了将VM设置为DataContext并将绑定项作为公共属性公开之外,没有代码可以使绑定工作。
据我所知,在Android中有很多工作要做到这一点。我需要创建一个自定义的ListAdapter,大量的布线和覆盖等。有没有更好的方法来做到这一点?
有人可以指向我的文档/教程,演示在Android中解决此问题的最佳做法。
谢谢!
答案 0 :(得分:2)
在这种情况下,是的,要编写的代码比在WPF中完成的代码要多。相当于在WPF中的ItemsControl上定义DataTemplate正在制作自定义适配器并实现getView方法。
ListView视频世界是了解适配器最佳实践的必备手段。