如果自定义列表视图行内容是动态的,如何使用视图持有者?

Rav*_*nia 6 android listview android-listview android-viewholder

我已经使用基本适配器创建自定义列表视图到动态行content.row内容是以编程方式创建的(复选框,文本视图),它们包含在布局中.滚动时间问题很慢,因为不使用视图持有者.我如何使用视图持有者这种类型的自定义列表视图?任何解决方案或建议?

在此列表之后..

在此输入图像描述

Pr3*_*38y 0

ViewHolder当重复相同视图时在列表视图中使用。假设您的活动中一次总共可见 6 个项目。然后使用 viewholder 模式 6+2=8 个视图将一次膨胀。顶部额外一个,底部额外一个,以提供平滑的滚动效果。现在假设执行向上滚动操作,并且第 8 个位置的项目可见,第 0 个位置的项目将被回收并附加到列表末尾作为第 9 个项目。如果视图不相同,则无法执行此回收。检查https://www.youtube.com/watch?v=wDBM6wVEO70

对于您的问题,您可以假设有 5 个可能的最大值,然后您可以使用内部 10 个动态视图创建适配器视图并根据需要设置可见性。

另一种选择是LinearLayout动态使用并添加每一行,但这不会提供太多优化。