setItemChecked突出显示错误的项目

时间:2014-05-27 20:55:27

标签: android listview

大家好我想使用多列表视图,但事情没有按预期发生

我正在使用

我使用的模式是:sngList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 并且在每次长按时我使用:sngList.setItemChecked(position, true);

我正在使用自定义基础适配器 我正在使用视图可重用性 在我正在使用的getview方法中

  if(list.isItemChecked(position)){
           v.setBackgroundColor(Color.parseColor("#554399"));
        }

但是正在强调的不仅仅是预期的项目,是因为视图的可用性?如果是,那么请注意,我也尝试使用单独的列表为每个项目保持其状态存储在其中,但这也没有帮助,可能是我做错了,请帮助

1 个答案:

答案 0 :(得分:1)

是。重复使用这些视图时,它们将预先应用背景颜色。

当条件为假时,您只需要取消设置自定义背景颜色,即

if (list.isItemChecked(position))
    v.setBackgroundColor(Color.parseColor("#554399"));
else
    v.setBackgroundColor(Color.TRANSPARENT); // or the original color