我希望我的列表项保持其按下/选中状态,直到我按下列表中的其他项目。键入此内容时,我认为我希望它像没有圆形按钮的RadioButtons一样工作。我已经尝试将列表项的选择/按下状态设置为true,或者在onListItemClick
上设置其背景颜色,但是当我这样做时,即使单击其他项目,我的列表项也会保持单击状态。如何取消设置列表中先前单击的项目的背景颜色?或者有不同的方法来做到这一点?
答案 0 :(得分:0)
试试这个
第1步:尝试使用onItemClickListener()
中的for循环将背景颜色(即原始背景颜色)重置为所有列表项。
第2步:为所选背景颜色设置不同的背景颜色。
如果您使用自定义列表视图,那将非常简单。
编辑自定义列表视图教程
视频 - youtubeVideo
希望有所帮助
修改
这就是我所做的:我遍历可见列表,将每个项目的背景设置为透明,将所选项目的背景设置为不同的颜色。这样,颜色会一直持续到我按下另一个项目为止。
protected void onListItemClick(ListView l,View v,int position,long id){ int childCount = l.getChildCount();
for (int i = 0; i < childCount; i++)
{
View listItem = l.getChildAt(i);
if(listItem != null ) listItem.setBackgroundColor(0x00000000);
}
v.setBackgroundColor(getResources().getColor(R.color.pressed));
...
}