更改Android ListView选定的侦听器外的行属性

时间:2013-05-30 10:24:29

标签: java android listview

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

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

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

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

我该如何完成这项任务?

1 个答案:

答案 0 :(得分: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;
}