Geo*_*ker 9 android android-layout
我正在开发一个带有listView的Android应用程序,我正在优化它.它在一个活动中使用自定义游标适配器,我注意到bindview()为列表的每一行触发了两次.在这里研究BindView()和NewView()方法时,我在帖子中读到,对于listview的宽度使用Wrap_Content是一个坏主意.我将它切换到Fill_Parent和中提琴现在bindview()和newview()每个只为每个项目触发一次.
这样我可以更好地理解Andorid OS的内部结构,我想知道为什么Wrap_Content导致bindview()多次触发.
我已经在谷歌,Android开发者文档上进行了几次搜索,而且没有运气.
任何回应都非常感谢.
谢谢,乔治
Gle*_*ger 10
如果我从Google I/O的视频中正确回想起来,将a的宽度(或高度)设置ListView
为wrap_content
将导致它测量前3个项目并将其尺寸基于这些项目.为了测量前3个项目,必须调用bindView()
它们来填充它们.一旦测量完毕,它将完全填充并bindView()
再次呼叫前3个和后续任何一个.
这是因为ListView
当列表中可能存在无限数量的项目时,屏幕上只保留内存中的内容.它不适用于wrap_content
您最大的项目,因为它可能永远停留在绘图阶段.
归档时间: |
|
查看次数: |
1121 次 |
最近记录: |