0

我有一个 Android ListView,我想在其中更改一些选定的行属性,如背景颜色、图像视图等。

我知道如何onItemClick(AdapterView<?> parent, View view, int position, long id)通过获取视图对象来改变。

但是现在的问题是我想在侦听器之外修改此行属性。我进行了很多搜索,但无法找到解决方案。

我也在这里阅读了 ListView 和 BaseAdapter 的文档:

我怎样才能完成这项任务?

4

1 回答 1

1

我希望您使用的是自定义适配器,如果是这样,请按照以下步骤操作。

如果当前视图满足您的条件,则在 getView() 方法中设置背景(或您想要的任何更改)。否则将背景重置为默认值。例如,我想以不同的颜色显示交替行,然后我会做如下

public View getView(int position, View view, ViewGroup parent) {

    if (view == null) {
        LayoutInflater inflater = getLayoutInflater();
        view = inflater.inflate(R.layout.row, parent, false);
    } else {}

    if (position % 2 == 0) {
        view.setBackgroundResource(R.color.gray);
    } else {
        view.setBackgroundResource(R.color.white);
    }
    return view;
}
于 2013-05-30T10:59:52.743 回答