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); } } }); 
  • Android: Detectar el botón ACTION_UP fuera del evento
  • SetOnItemClickListener VS setOnItemSelectedListener en ListView.
  • Cómo deshabilitar el oyente de clics en la vista de la imagen de Android
  • Cómo poner un oyente onclick dentro de un servicio
  • ¿Cómo evitar múltiples botones al mismo tiempo en android?
  • Android OnClickListener no disparar para el botón en Layout independiente
  • método no sobrescribe el método de su superclase. Fragmento Android
  • setOnClickListener en un TextView dentro de un Cardview
  • PreferenceFragment OnPreferenceClickListener () sólo funciona una vez
  • OnItemClickListener y OnClickListener no funcionan para ListView
  • ¿Cómo puedo borrar el texto de Android TextView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.