0

我正在尝试通过单击 ListView 来更改背景颜色。我的代码如下所示:

@Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {          
        arg1.setBackgroundColor(Color.GREEN);
    }

奇怪的是,如果我点击第 7 项,第 7 项的背景发生了变化,而且从第 6 项开始。

4

1 回答 1

3

这是因为 ListView回收了内部使用的视图(行项)。getView最好的解决方案是通过覆盖适配器中的方法来更改所需行/项目的背景颜色。这样,您将可以更好地控制列表项,并且可以为其他不需要的视图重置背景颜色。有关更多信息,请阅读

于 2012-04-30T08:45:27.323 回答