2011-06-04 26 views
14

¿Cómo establecer un dibujable como fondo para una vista de lista en una clase?Android setbackgrounddrawable listview

if (array1.size() < 8) 
{ 
    lv1.setBackgroundDrawable(R.drawable.bgimghs2b); 
} 

es incorrecto.

Gracias.

+0

¿Qué quieres decir con "impro por"? – CommonsWare

+2

Probablemente no compila. – dmon

Respuesta

60

Eso es porque no le está dando un Drawable, pero una identificación de un drawable. Prueba:

lv1.setBackgroundDrawable(getResources().getDrawable(R.drawable.bgimghs2b)) 

Si estás en una actividad. Si no es así, entonces necesita obtener un Context y llamar al getResources() sobre eso.

+0

¡Gracias! lo he usado una vez, pero no he podido encontrar: S – erdomester

+0

+1 para la respuesta útil – Lucifer

+1

método obsoleto. – meh

5

se debe utilizar: Drawable background = this.getResources().getDrawable(R.drawable.yourBackgroundDrawableID); lv.setBackgroundDrawable(background);

0

(: o utiliza

lv1.setBackground(R.drawable.bgimghs2b); 
8

actualización:está en desuso Ese método, en lugar usted puede utilizar:

  1. Sólo API 16 o superior.

    setBackground (fondo Disponibles)

  2. si tiene un versión anterior esa API 16 uso:

    setBackgroundResource (int resid)