Last active
December 17, 2015 17:19
-
-
Save jmartinesp/5644728 to your computer and use it in GitHub Desktop.
La cosa es que los elementos de una lista siempre van a estar reutilizándose, así que el truco está en comprobar cuál tenemos seleccionado en base a la posición del mismo, y cambiarle el fondo a "seleccionado". Como esto haría sólo que cada vez que apareciera por pantalla un view con esa posición este cambiara de color, acabaríamos con todos los…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class CustomAdapter extends ArrayAdapter<Algo> { | |
// Indice en la lista del item seleccionado | |
private int selected = -1; | |
public View getView(final int position, ...) { | |
convertView.setOnClickListener(new OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
// Aquí hemos seleccionado el elemento | |
selected = position; | |
} | |
}); | |
if(position == selected) { | |
// El item que estamos procesando es el seleccionado, cambiamos su fondo | |
convertView.setBackgroundColor(R.color.list_selected); | |
} else { | |
// No es el seleccionado, ponemos su fondo normal por si acaso | |
convertView.setBackgroundColor(R.color.list_normal); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment