Android: deshabilitar resaltado en listView haz clic

Quiero desactivar el resaltado naranja que se produce al tocar una fila listView. Hasta ahora en mi xml He intentado lo siguiente:

android:focusable="false" android:focusableInTouchMode="false" android:clickable="false" 

Más información: Quiero que no haya diferencia cuando un usuario toca la pantalla en este objeto listView.

    Añadir esto a su xml:

     android:listSelector="@android:color/transparent" 

    Y para el problema esto puede funcionar (no estoy seguro y no sé si hay mejores soluciones):

    Puede aplicar un ColorStateList a su TextView.

    La respuesta de RoflcoptrException debe hacer el truco, pero por alguna razón no funcionó para mí, así que estoy publicando la solución que funcionó para mí, espero que ayude a alguien

     <ListView android:listSelector="@android:color/transparent" android:cacheColorHint="@android:color/transparent" /> 

    El efecto resaltado naranja es un estilo en el ListView. Este artículo ofrece una buena visión general de cómo reemplazar el estilo listView.

    Esencialmente, usted tiene un selector que especifica diferentes elementos de estilo basado en el estado actual.

    Vea esto para una solución corta y rápida https://stackoverflow.com/a/12242564/185022

    Desde http://groups.google.com/group/android-developers/browse_thread/thread/03c92af7b519d290?pli=1

    Cuando establece su ListAdapter utilizar el código siguiente

     ListAdapter adapter = new SimpleCursorAdapter(MyList, Layout, c, new String[] { "Name", "Score" }, to) { public boolean areAllItemsEnabled() { return false; } public boolean isEnabled(int position) { return false; } }; 

    Esto anulará la clase BaseAdapter. También cancela el borde blanco entre las células.

    Añadir esto también a ur XMl junto con listselector .. espero que funcione

     <ListView android:cacheColorHint="@android:color/transparent" android:listSelector="@android:color/transparent"/> 

    Si está utilizando ArrayAdapter o BaseAdapter para rellenar los elementos de la lista. isEnabled método isEnabled y devuelva false .

      @Override public boolean isEnabled (int position) { return false; } 

    Después de unos pocos 'google'ing y pruebas en dispositivos virtuales y reales, noto mi siguiente código funciona:

     ArrayAdapter<String> myList = new ArrayAdapter<String>(this, R.layout.list_item, strText) { public boolean isEnabled(int position) { return false; } }; 

    Observe que he omitido la porción areAllItemsEnabled() .

    Nada me ayuda sino esto:

    Transparent_drawable.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#00000000"/> </shape> 

    Layout.xml

     android:listSelector="@drawable/transparent_drawable" 

    en codigo

     listView.setSelector(getResources().getDrawable(R.drawable.transparent)); 

    Y agregue la pequeña imagen transparente a la carpeta drawable.

    Como: transparent.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#00000000"/> </shape> 

    Para mí android:focusableInTouchMode="true" es el camino a seguir. android:listSelector="@android:color/transparent" no sirve de nada. Tenga en cuenta que estoy usando un listview personalizado con un número de objetos en cada fila.

    Sólo es necesario agregar: android:cacheColorHint="@android:color/transparent"

    Como alternativa:

     listView.setSelector(android.R.color.transparent); 

    o

     listView.setSelector(new StateListDrawable()); 

    Si desea desactivar el resaltado para un elemento de vista de lista único, pero mantener la celda habilitada, establezca el color de fondo para esa celda para desactivar el resaltado.

    Por ejemplo, en el diseño de la celda, establezca android:background="@color/white"

    Sólo puede obtener la pos que recibe de la onItemClick y hacer:

     listView.setItemChecked(pos, false); 

    Esa es la mejor manera que conozco

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.