2011-12-28 11 views
7

Estoy mostrando un ListView. Cuando lo arrastro, se selecciona todo el ListView con un fondo negro. ¿Cómo puedo eliminar ese fondo negro?Cómo eliminar el color seleccionado al arrastrar sobre listview

+0

Desde el blog de desarrolladores de Android: [¿Por qué mi lista es negra? Una optimización de Android] (http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html) – blahdiblah

Respuesta

3
view.setBackgroundColor(android.R.color.transparent); 

debería ser view.setBackgroundResource (android.R.color.transparent) causa setBackgroundColor tomar un valor hexadecimal de color como parámetro.

o

android:cacheColorHint = "#00000000" 

uso esta etiqueta por la que su ListView. o también puede usar

listview.setCacheColorHint() 

para configurarlo programáticamente.

De Why is my list black? An Android optimization en el blog de los desarrolladores de Android:

Para solucionar este problema, todo lo que tiene que hacer es o bien desactivar la optimización toque de color caché, si se utiliza un fondo de color no sólido, o un conjunto la sugerencia del valor de color sólido apropiado. Puede ser una cúpula de código o preferiblemente de XML, utilizando el atributo android: cacheColorHint. Para desactivar la optimización, simplemente use el color transparente # 00000000. La siguiente captura de pantalla muestra una lista con android: cacheColorHint = "# 00000000" establecido en el archivo del formato XML:

5

es probablemente porque usted tiene un fondo personalizado para su ListView. Cuando se desplaza, la lista completa se resalta en color negro debido a su cache color.

Añadir esta pieza de código a su ListView y vuelva a intentarlo:

android:cacheColorHint="#00000000"

1

uso esto,

yourList.setCacheColorHint(Color.WHITE); 
15

sólo tiene que utilizar en ur archivo XML dentro ListView,

android:cacheColorHint="@android:color/transparent" 
Cuestiones relacionadas