android:如何保留单击的列表项';s按下/选定状态,直到按下列表中的其他项目

android:如何保留单击的列表项';s按下/选定状态,直到按下列表中的其他项目,android,android-listview,Android,Android Listview,我希望我的列表项在按下列表中的其他项之前保持其按下/选定状态。当我输入这个时,我想我希望它能像单选按钮一样工作,而不需要圆圈按钮。我已尝试将列表项的选定/按下状态设置为true,或将其背景色设置为onListItemClick,但当我执行此操作时,即使在单击其他项目后,列表项仍保持单击状态。如何取消设置列表中以前单击的项目的背景色?或者有不同的方法吗?试试这个 步骤1:尝试使用for loop inonItemClickListener()将背景色(即原始背景色)重置为所有列表项 步骤2:为所选

我希望我的列表项在按下列表中的其他项之前保持其按下/选定状态。当我输入这个时,我想我希望它能像单选按钮一样工作,而不需要圆圈按钮。我已尝试将列表项的选定/按下状态设置为true,或将其背景色设置为
onListItemClick
,但当我执行此操作时,即使在单击其他项目后,列表项仍保持单击状态。如何取消设置列表中以前单击的项目的背景色?或者有不同的方法吗?

试试这个

步骤1:尝试使用for loop in
onItemClickListener()
将背景色(即原始背景色)重置为所有列表项

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

如果您使用自定义列表视图,那么它将非常容易

编辑自定义列表视图教程

视频-

希望能有帮助

编辑

下面是我所做的:我在可见列表中迭代,将每个项目的背景设置为透明,将所选项目的背景设置为不同的颜色。这样,颜色会一直保持不变,直到我按下另一项

受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){ int childCount=l.getChildCount()

for(int i=0;i

}

您好,如果要使用自定义列表视图,我必须做什么?我真的不想每次单击某个项目时都遍历所有列表项目…对不起,我没有真正理解你的意思。我知道如何使用自定义适配器。。但我的意思是,如何更改以前单击的项目的背景色?如果某个项目未被选中或其他什么,是否会有一个听众?对不起,我认为我在回答中所说的是实现你目标的方法之一。。我在两个以上的应用程序中使用了这个,它真的很有效。嗨,对不起,我花了一段时间才找到这个答案。我求助于你的答案,所以我会接受的。我也会把我做过的事情贴出来。谢谢
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));
...