OGeek|极客世界-中国程序员成长平台

标题: 每行具有不同布局的Android ListView [打印本页]

作者: 菜鸟教程小白    时间: 2022-8-1 01:20
标题: 每行具有不同布局的Android ListView

我正在尝试确定拥有单个 ListView 的最佳方式,该 ListView 包含每行的不同布局。我知道如何创建自定义行 + 自定义数组适配器来支持整个 ListView 的自定义行,但是如何在 ListView 中实现许多不同的行样式?



Best Answer-推荐答案


由于您知道您将拥有多少种布局类型 - 可以使用这些方法。
getViewTypeCount() - 此方法返回您的列表中有多少行类型的信息
getItemViewType(int position) - 根据位置返回您应该使用哪种布局类型的信息

然后,仅当它为空时才膨胀布局并使用 getItemViewType 确定类型.

this tutorial 了解更多信息。

为了实现您在评论中描述的结构优化,我建议:

  • 在名为 ViewHolder 的对象中存储 View .它会提高速度,因为您不必调用 findViewById()每次在getView方法。见 List14 in API demos .
  • 创建一个通用布局,该布局将符合所有属性组合并在当前位置没有它时隐藏一些元素。

  • 我希望这会对你有所帮助。如果您可以提供一些带有数据结构的 XML stub 以及您希望如何将其映射到行中的信息,我将能够为您提供更准确的建议。按像素。

    关于每行具有不同布局的Android ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777272/






    欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4