Android ListView colores de fondo siempre mostrando gris

Tengo un ListView que estoy poblando de un ListAdapter personalizado. Dentro del adaptador (en el método getView (int, View, ViewGroup) ) estoy configurando el color de fondo de la vista usando setBackgroundColor (int) . El problema es que no importa qué color debo fijar el fondo a él siempre sale un gris oscuro. También podría valer la pena señalar que estoy usando el tema de la Luz.

Bits de código relevantes (simplificados):

AndroidManifest.xml:

<activity android:name=".MyActivity" android:theme="@android:style/Theme.Light" /> 

MyAdapter.java:

 @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(mContext); View av = inflater.inflate(R.layout.my_row, parent, false); av.setBackgroundColor(R.color.myRow_red); mName = (TextView) av.findViewById(R.id.myRow_name); mName.setText("This is a name"); return av; } 

¿Ideas / sugerencias?

Debe utilizar: setBackgroundResource(R.color.myRow_red) lugar de setBackgroundColor() . En su ejemplo, el color de fondo se asigna con el ID en lugar del color real descrito en los recursos.

Debe establecer el atributo cacheColorHint en el color de fondo deseado para su lista. Esta es una solución necesaria para tener en cuenta una optimización de dibujo que Android realiza en las listas.

Vea aquí: link text

Me encontré con un problema similar en el que el divisor se acercaba gris. Encontré que las otras soluciones no tenían ningún efecto, pero android:divider="<drawable,color, or whatever>" en mi ListView trabajado.

Usted frío siempre envolver toda la fila dentro de otra vista y establecer el color de fondo en esa vista. Esta visión sería el primer (y único) hijo de la fila.

Trate de hacer esto:

av.setBackgroundColor(getResources().getColor(R.color.myRow_red));

prueba esto:

 setBackgroundColor(0xFF5DB9FB); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.