
android listview 如何点击item改变背景色(不是手指按下的一瞬间)
listview想要实现点击item就改变item的背景色,点击另一个item的时候消除上一个item的背景色,保证同一时间有且只有一个item有背景色,这个效果我实现的...
listview想要实现点击item就改变item的背景色,点击另一个item的时候消除上一个item的背景色,保证同一时间有且只有一个item有背景色,这个效果我实现的时候一直存在复用性问题,屏幕一滚就乱跳了,用点击的位置来判断貌似可以解决问题,但是又用什么方法来消除上一个点击的item的背景色呢,用listview.getChildAt()方法可能会导致空指针异常,原因貌似是屏幕外的item,listview无法得到,但有时候点击屏幕内的item也会报空指针,求大神指教,最好有demo或者代码,感激不尽 !
展开
1个回答
展开全部
你应该用一个变量保存用户点击的item 下标,获取用户当前点击的位置改变颜色,上一个位置恢复背景颜色。在click事件里面改变背景色,记得要刷新界面。应该不会出现你说的那种情况,空指针你应该再检查一下代码,是不是哪里没有实例化。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询