【发布时间】:2015-08-02 20:58:04
【问题描述】:
我实现了一个ListView,以及OnItemLongClick方法来高亮选中的项目,但是当我选择一个项目时,如果我滚动ListView,我发现另一个项目被高亮了。
我正在使用此代码:
list.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
arg1.setBackgroundColor(Color.BLUE);
return true;
}
});
【问题讨论】:
-
你的 ListView 有标题视图吗?
-
那是视图回收。不要在视图中存储状态。相反,保留类似于选定索引的内容,并在适配器的 getView 中更新背景
-
@njzk2 你的意思是使用例如:list.getChildAt (pos).setBackround..etc??原因也不起作用,顺便说一下,我不知道如何从适配器更新背景:(
-
@pietv8x 我使用一个包含 textview 和 imageview 的 xml 文件,我在开发适配器时调用该文件
-
您使用的是哪种适配器?你会覆盖 BaseAdapter 还是使用 ArrayAdapter?
标签: java android listview selecteditem listviewitem