我知道这听起来很简单,并且对此存在疑问。但没有一个能解决我的问题。所以我们开始:
我想ListActivity
在用户单击时更改列表项的背景颜色,并在用户再次单击时将其更改回原始颜色(即选择/取消选择项目的外观)
我尝试使用 getChildAt,如果我在一个屏幕上显示所有项目而无需滚动,它就可以完美运行。
代码:
getListView().getChildAt(position).setBackgroundColor(Color.CYAN);
当我在列表中有更多项目并且用户必须滚动浏览它们时,问题就开始了。更改项目的背景后,当我滚动时,背景颜色会显示在新可见的项目上。此外,再次单击该项目时getChildAt(position)
返回null
(以及因此 a )。NullPointerException
谁能帮我一个简单的代码来帮助我更改列表项的背景颜色?
提前致谢!