Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果再次选择,则取消选择当前列表视图项_Java_Android - Fatal编程技术网

Java 如果再次选择,则取消选择当前列表视图项

Java 如果再次选择,则取消选择当前列表视图项,java,android,Java,Android,我目前有一个列表视图,您可以在其中选择一个项目,它将突出显示当前选择的项目。但我想将其设置为sot,这样,如果用户再次单击列表中当前选定的同一项,它将取消高亮显示列表项,并且当前未选择任何列表项/ currentUsersCameras.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(final AdapterView<?> parent,

我目前有一个列表视图,您可以在其中选择一个项目,它将突出显示当前选择的项目。但我想将其设置为sot,这样,如果用户再次单击列表中当前选定的同一项,它将取消高亮显示列表项,并且当前未选择任何列表项/

currentUsersCameras.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, View view, final int position, long id) {


    for (int i = 0; i < parent.getChildCount(); i++) {
        parent.getChildAt(i).setBackgroundColor(Color.TRANSPARENT);
        view.setBackgroundColor(Color.rgb(3, 169, 244));
    }

  }
});
currentUsersCameras.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(最终适配器视图父级、视图视图、最终整型位置、长id){
对于(int i=0;i
Listview/Recyclerview项目要求您始终处理ifelse案例。因此,如果您想为一个项目而不是另一个项目执行某些操作,同样,如果您想对同一项目执行并撤消相同的操作,请处理if和ELSE,为
项目添加一个布尔状态
类尝试此
视图.setBackgroundColor(isSelected(position)?Color.rgb(3,169,244):Color.TRANSPARENT)我所做的是。单击时,我将listitem添加到集合中。如果添加到集合中,我将更改颜色。现在,当我再次单击该项时,我会检查它是否在集合中。如果它出现在集合中,我将颜色改回正常。我需要删除多个选定的项目,因此我会维护集合,但您的要求可能会有所不同。