SetItemChecked (posición int, valor booleano) no funciona?

Tengo un listview que se modifica para requisitos particulares para exhibir una imagen y 2 textview. Simplemente quería poner de relieve uno de los puntos de mi lista.

En primer lugar, voy con el método setSelection de listview que finalmente encontré que no es la forma en que no está trabajando en modo táctil.

Por lo tanto, hago algunas búsquedas y encontré que tendría que usar el método setItemChecked. Así, hago un color de lista de estado.

<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@color/checkbox_bg_fcs" /> <item android:drawable="@color/WHITE" /> </selector> 

Lo utilicé para fijar el color de fondo de mi artículo modificado para requisitos particulares de la lista.

Desde la actividad List, llamo setItemChecked (position, true) a un índice específico de mi listview.

Por desgracia, no parece funcionar para mí. ¿Hay algo que falta? ¿Alguien ha tenido suerte con él?

Nota **, recuperé datos para la vista de lista desde la red. Hago setItemChecked solamente después de que tenga datos en mi listview.
Mi listview está en el modo de una sola opción también.

Me temo que no es una manera fácil de hacer eso en el Android Framework.

Para conseguir que el setSelection (…) funcione, tu View tiene que implementar la interfaz follogin: android.widget.Checkable

Es probable que esté usando algún diseño para Ver (una imagen y 2 textview en un LinearLayout tal vez?), Que no implementa la interfaz Comprobable.

Lo que puede hacer, es crear una clase personalizada View que implementa Checkable.

Compruebe hacia fuera el acoplamiento abajo para un LinearLayout checkable:

http://tokudu.com/2010/android-checkable-linear-layout/


Si desea cambiar el fondo, que reescribir el método setChecked para hacer lo que desea. Ejemplo muy sencillo:

 @Override public void setChecked(boolean checked) { if (checked) { this.setBackgroundColor(Color.RED); } else { setBackgroundColor(Color.BLACK); } } 

Establecido para el selector de fondo de fila de lista, que tiene recursos para state_activated:

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_activated="true" android:state_enabled="true" android:drawable="@android:color/black"></item> <item android:drawable="@android:color/transparent" android:state_enabled="true"/> </selector> 

Intente incluir el atributo android:state_enabled también.

  • Lista colgadaElector en ListView
  • ¿Cómo puedo cambiar el color de un elemento de vista de lista en Delphi (Firemonkey Android)
  • ListView personalizado cuando se desplaza cambia aleatoriamente el texto del botón o edittext
  • Se comprueba un elemento incorrecto al filtrar ListView en android
  • Cómo utilizar setEmptyView () con el diseño de lista personalizada en ListFragment
  • Cómo obtener la miniatura de Android Contact
  • Listview / ExpandableListVer imágenes de contenido cuando se llama notifyDataSetChanged
  • Android ignora el tamaño de la barra de desplazamiento
  • Cómo deshabilitar el clic en ListView en android?
  • Cómo ocultar un elemento en un listview en Android
  • Causado por: java.lang.IllegalArgumentException: columna '_id' no existe
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.