在Android Listview中更改新添加的行的背景颜色

时间:2011-12-28 14:33:02

标签: android android-layout android-ndk android-manifest

我想更改新添加的listview行的背景颜色。我的listview基于自定义适配器,并使用布局xml对布局进行了充气。我尝试了很多解决方案,但它不知何故不起作用。我无法获得listview中的行元素。 感谢。

3 个答案:

答案 0 :(得分:0)

你可以在这里学习更多

http://developer.android.com/reference/android/widget/BaseAdapter.html

此外,您可以使用关键字"自定义适配器"

进行搜索

这里有一些;

custom adapter for gridview in android

答案 1 :(得分:0)

如果实现的目标是以不同的颜色在适配器中显示新添加的项目,那么您可以实现以下逻辑。

您已拥有的自定义适配器。 另一个跟踪新添加项目的Arraylist。 将任何新项添加到此arraylist。

在getView()方法中,检查适配器中的此项是否存在于此辅助数组中(如果存在),更改将返回的视图的背景颜色。

过了一段时间,也许是一个计时器,你可能想要从辅助项目中删除这些元素。

内存消耗可能不会太高,因为您只存储对适配器中已存在的对象的引用,而不是创建新副本。

答案 2 :(得分:0)

我相信如果您要保存在数组或数据库中ListView中显示的数据,则必须在设置listadapter后在SharedPreferences中保存数组的大小。现在假设你的ListView中有5个元素,你保存它,当你再次添加时,你有8个元素,8-5 = 3现在你知道最后3个元素是新的,你用8覆盖SharedPreferences(依此类推。 。),在您的自定义listadapter中更改最后3个元素的背景,因为您拥有函数中所有值和行的位置:

public View getView(int i, View convertView, ViewGroup parent)

哪个是整数i。