Android中动态加载listview,bindView重复执行n次

天宇小凡
  • 233

做一个动态加载数据的ListView,因为Android原生的listview高度不能自动调节,所以重写了onMeasure方法

clipboard.png

布局文件

clipboard.png

加载数据的方法

clipboard.png

在做的时候发现dietIds的数量不对,后来测了一下发现是每个item项bindView重复执行了6次(也就是item布局中绑定的子控件个数)。

在网上查了下,

此问题在于,ListView没有取到实际的高度,无法确定取多少View来填充ListView,也就是运行getView()的具体运行次数。 应该把listiview在布局文件中的高度设置为:fill_parent

有没有办法让bindView只执行一次?

回复
阅读 2.7k
1 个回答

不用onMeasure,高度提前计算出来应该就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏