Cómo desmarcar un elemento en gridview en segundo clic en android?

Estaba tratando de dar color de fondo a los elementos seleccionados en GridView y lo hice con éxito utilizando el siguiente código-

gv.setOnItemClickListener(new OnItemClickListener() { // gv is object of GridView @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { gv.getChildAt(arg2).setBackgroundColor(Color.rgb(125, 125, 125)); } }); 

Ahora quiero quitar el color de fondo dado cuando se hace clic en cada elemento la próxima vez. Cómo puedo hacerlo ? Además, cuando se hace clic de nuevo el color de fondo debe aparecer y en el siguiente clic de color de fondo debe ser eliminado.

One Solution collect form web for “Cómo desmarcar un elemento en gridview en segundo clic en android?”

Puede comprobar el fondo de color actual y luego realizar alguna operación condicional para actualizar la vista en consecuencia.

 gv.setOnItemClickListener(new OnItemClickListener() { // gv is object of GridView @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { View view = gv.getChildAt(arg2); int desiredBackgroundColor = android.graphics.Color.rgb(125, 125, 125); ColorDrawable viewColor = (ColorDrawable) view.getBackground(); if(viewColor == null) { view.setBackgroundColor(desiredBackgroundColor); return; } int currentColorId = viewColor.getColor(); if(currentColorId == desiredBackgroundColor) { view.setBackgroundColor(Color.TRANSPARENT); } else { view.setBackgroundColor(desiredBackgroundColor); } } }); 
  • Cajón de navegación OnItemClickListener
  • Agregue el listener de clics al Generic RecyclerView Adapter
  • ¿Cómo puedo borrar el texto de Android TextView?
  • Cómo deshabilitar el oyente de clics en la vista de la imagen de Android
  • Agregar un oyente a un widget selector de números
  • ¿Cómo dejar pasar el evento a container en android?
  • Parámetro de vista de Android para el método OnClickListener
  • SetOnItemClickListener no funciona
  • ¿Por qué no AsyncTasks siempre funcionan dentro de un onClickListener?
  • ¿Cómo agregar tiempo al temporizador de cuenta atrás?
  • SetOnClickListener y setOnLongClickListener llamada en cuestión de botón único
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.