Android中ListView中的复合列表项

时间:2012-01-24 15:45:07

标签: android xaml listview android-listview itemtemplate

我试图在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中解决此问题的最佳做法。

谢谢!

1 个答案:

答案 0 :(得分:2)

在这种情况下,是的,要编写的代码比在WPF中完成的代码要多。相当于在WPF中的ItemsControl上定义DataTemplate正在制作自定义适配器并实现getView方法。

ListView视频世界是了解适配器最佳实践的必备手段。

http://www.youtube.com/watch?v=wDBM6wVEO70