android:如何保持单击列表项的按下/选中状态,直到按下列表中的其他项

时间:2012-07-22 14:14:26

标签: android android-listview

我希望我的列表项保持其按下/选中状态,直到我按下列表中的其他项目。键入此内容时,我认为我希望它像没有圆形按钮的RadioButtons一样工作。我已经尝试将列表项的选择/按下状态设置为true,或者在onListItemClick上设置其背景颜色,但是当我这样做时,即使单击其他项目,我的列表项也会保持单击状态。如何取消设置列表中先前单击的项目的背景颜色?或者有不同的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

试试这个

第1步:尝试使用onItemClickListener()中的for循环将背景颜色(即原始背景颜色)重置为所有列表项。

第2步:为所选背景颜色设置不同的背景颜色。

如果您使用自定义列表视图,那将非常简单。

编辑自定义列表视图教程

Custom ListViewthis

视频 - 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));
...

}