ListView的优化:
(1)为防止多次调用加载,listView的宽高写成定值(包括充满)
(2)利用Android的回收机制,复用convertView
(3)定义viewHolder类,防止重复查找控件(convertView.setTag(),convertView.getTag())
ListView常见问题:
(1)当单条布局中有Button点击事件,此时单条点击事件不生效
原因:button消费了原来属于item的点击事件
解决办法:在Item布局最外层添加:descendantFocusability="blocksDescendants"
(2)listView只会加载一屏幕的数据
listView的滚动监听:listView.setOnScrollListener(new ......);
(first+visible==total)判断是否到底
(3)ScrollView,ListIView,GridView嵌套使用时出现问题:
内部嵌套的ListView/GridView显示不全,只显示一行
原因:内部的ListView/GridView高不会完全被赋值
解决办法:自定义控件,重写onMeasure()方法
int h = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2,MeasureSpec.AT_MOST);