¿Cómo borrar un ImageView en Android?

Resuelto Pentium10 asked hace 54 años • 19 respuestas

Estoy reutilizando ImageViews para mis pantallas, pero en algún momento no tengo valores para ponerlo.

Entonces, ¿cómo borrar un ImageViewen Android?

He intentado:

mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);

Ninguno de ellos ha borrado la vista, todavía muestra la imagen anterior.

Pentium10 avatar Jan 01 '70 08:01 Pentium10
Aceptado

Solía ​​hacerlo con la solución dennis.sheppard :

viewToUse.setImageResource(0);

funciona pero no está documentado, por lo que no está muy claro si afecta algo más en la vista (puede verificar el código ImageView si lo desea, yo no lo hice).

Creo que la mejor solución es:

viewToUse.setImageResource(android.R.color.transparent);

Me gusta más esta solución porque no hay nada complicado en revertir el estado y también está claro lo que está haciendo.

Mario Lenci avatar Nov 23 '2011 13:11 Mario Lenci

Tuve un problema similar, donde básicamente necesitaba eliminar ImageViews de la pantalla por completo. Algunas de las respuestas aquí me llevaron en la dirección correcta, pero finalmente llamar a setImageDrawable() funcionó para mí:

imgView.setImageDrawable(null);

(Como se menciona en el comentario, dicho uso está documentado en los documentos oficiales: ImageView#setImageDrawable ).

Kon avatar Apr 09 '2011 16:04 Kon

Sé que esto es viejo, pero pude lograrlo con

viewToUse.setImageResource(0);

No parece que deba funcionar, pero lo probé por capricho y funcionó perfectamente.

dennis.sheppard avatar Nov 01 '2010 16:11 dennis.sheppard

Parece que lo que desea es una imagen predeterminada para configurar su ImageView cuando no muestra una imagen diferente. Así lo hace la aplicación Contactos:

if (photoId == 0) {
    viewToUse.setImageResource(R.drawable.ic_contact_list_picture);
} else {
    // ... here is where they set an actual image ...
}
Dan Lew avatar May 18 '2010 17:05 Dan Lew