【发布时间】:2012-09-26 21:27:03
【问题描述】:
我知道这听起来很简单,并且对此存在疑问。但没有一个能解决我的问题。所以我们开始:
我想在用户单击 ListActivity 时更改列表项的背景颜色,并在用户再次单击时将其更改回原始颜色(即选择/取消选择项目的外观)
我尝试使用 getChildAt,如果我在一个屏幕上显示所有项目而无需滚动,它就可以完美运行。
代码:
getListView().getChildAt(position).setBackgroundColor(Color.CYAN);
当我在列表中有更多项目并且用户必须滚动浏览它们时,问题就开始了。更改项目的背景后,当我滚动时,背景颜色会显示在新可见的项目上。此外,当再次单击该项目时,getChildAt(position) 返回 null(因此返回 NullPointerException)。
谁能帮我一个简单的代码来帮助我改变列表项的背景颜色?
提前致谢!
【问题讨论】:
-
我认为本主题将帮助您做到这一点。 stackoverflow.com/questions/2217753/…
标签: android listview listactivity