我是一名安卓小萌新,从零基础开始学习安卓开发,可能我遇到的问题你感觉很简单,但是对我来说都是一个坑,只是坑大和坑小的问题。
最近学习写UI,对listView不是很理解,当listView点击时如何改变文字颜色或者item样式等不是很熟练,对于网上的一大堆资料,我经过整理和学习有以下心得。
如果要在点击的时候改变文字以及背景颜色,这个功能只有适配器的 getView方法能做到
ListVIew刷新时,getView会重新加载每个item,此时可判断加载的item是否为选中
但是在刷新的时适配器拿不到listView选中item的position,因此在适配器内部需添加一个方法,在listView选中时调用,将选中item的position传递过来,具体方法如下
setSelectPosition方法调用时可获取listView的position
这里可以设置mPosition的值,即设置页面初始化时默认listView选中的item. 准备工作完成之后,在ListView点击时调用该方法,将Position传递到适配器的getView方法里使用。如下图
在listVIew的点击方法里调用setSelectionPosition方法,将选中的position传入
到这里,ListView的选中改变item内容和格式的方法就结束了。除了这种方法,网上还有另外一种 在xml中设置的方法 ,下次有时间再补上。