如何在列表填充后更改列表视图中行的背景颜色

时间:2012-12-19 06:04:47

标签: android listview position

我创建了一个custom adapter并将其添加到列表视图中。 之后我创建了 AutoCompleteTextView 按钮定义为Search Button. 所以我从列表中搜索了一些内容,点击搜索按钮,我使用这一行将列表滚动到搜索到的文本。

listViewOS.setSelection(position);

我的问题是

我想更改搜索过程找到的行的颜色。我有位置,我将位置传递给getView并尝试使用此代码更改行的颜色。

if(position == posn)
{
    Log.i("Log","Inside if");
    rowView.setBackgroundResource(R.color.red);
}
return rowView;

当位置匹配时打印日志,但不改变行的背景颜色。

我认为它正在发生,因为我正在尝试更改已填充的listview行的颜色。 那么如何更改已填充的listview行的颜色。 我想这样做是因为我想以突出显示的颜色显示搜索到的行。

我有这个职位,但不能这样做。

请帮助

3 个答案:

答案 0 :(得分:2)

试试这个:

listview.setSelection(position);
View rowView = listview.getChildAt(position);
rowView.setBackgroundResource(R.color.red);

它对我有用。

感谢。

答案 1 :(得分:1)

之后致电notifyDataSetChanged()

答案 2 :(得分:0)

您好我使用自定义适配器扩展ArrayAdapter和这样的实现。可能这会对你有所帮助

使用了此示例ListView