listview使用技巧
小技巧
虽然现在recycleview基本取代了listView,但是一些属性还是相同的,可以使用recycleView时借鉴。
关于Adapter,可以使用github上开源的BaseQuickAdapter,个人感觉还是比较好用的。
使用viewHolder提高效率
viewHolder主要是避免每次都使用 findById()去实例化控件,其实listview缓存的也是viewHolder,findById是十分浪费效率的。这个我们平时用的比较多,就不赘述了。
item间设置分界线
在xml文件中通过divider和dividerHeight这两个属性就可以实现。
隐藏滚动条
androdi:scrollbars=“none”属性
取消item点击效果
通过修改 android:listSelector=“”属性来实现,可以取消或者自己定义一个颜色选择器
设置指定item
listview.setSelection(N)
动态修改listview
其实就是调用 adper的 notifyDataSetChange()方法。但是注意,前后list对象必须是同一个。,所以list的clear,add方法就显得十分重要。
处理空listView
这个场景是几乎伴随着我们的应用的。通过listView.setEmpty(view实例对象)。
listView滑动监听
onTouchListener:可以识别一些dowm,move,up操作
onSrollListener:可以识别滚动的状态
具体内容看书
listView常用扩展
具有弹性的listView
即时没有数据,仍然可以上下拉一段距离。不过现在都是用下拉刷新和上拉加载更多来代替这样的弹性了。
自动显示和隐藏布局的lsitview
典型的场景就是上滑动时,actionBar消失,下拉时显示
动态改变listView
例如点击过的item,就会变灰。主要是使用notifyDataSetChange()方法