Estoy reutilizando ImageView
s para mis pantallas, pero en algún momento no tengo valores para ponerlo.
Entonces, ¿cómo borrar un ImageView
en Android?
He intentado:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
Ninguno de ellos ha borrado la vista, todavía muestra la imagen anterior.
Respuestas:
Solía hacerlo con la solución dennis.sheppard :
funciona, pero no está documentado, por lo que no está realmente claro si afecta a otra cosa en la vista (puede verificar el código de ImageView si lo desea, no lo hice).
Creo que la mejor solución es:
Esta solución me gusta más porque no hay nada complicado en revertir el estado y también está claro lo que está haciendo.
fuente
viewToUse.setImageResource(0);
no funcionó, peroviewToUse.setImageResource(android.R.color.transparent);
funcionó.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í:
(Como se menciona en el comentario, dicho uso está documentado en los documentos oficiales: ImageView # setImageDrawable ).
fuente
Sé que esto es viejo, pero pude lograr esto con
No parece que deba funcionar, pero lo probé por capricho y funcionó perfectamente.
fuente
Parece que lo que desea es una imagen predeterminada para configurar su ImageView cuando no se muestra una imagen diferente. Así es como lo hace la aplicación Contactos:
fuente
Intenté esto para borrar Image y DrawableCache en ImageView
Espero que esto funcione para ti !
fuente
Si ninguna de estas soluciones está borrando una imagen que ya ha configurado (especialmente
setImageResource(0)
osetImageResources(android.R.color.transparent)
, verifique que la imagen actual no esté configurada como fondo usandosetBackgroundDrawable(...)
o algo similar.Su código solo establecerá el recurso de imagen en primer plano en algo transparente frente a la imagen de fondo que configuró y aún se mostrará.
fuente
Oye, sé que llego extremadamente tarde a esta respuesta, pero pensé que debía compartir esto,
El método para llamar cuando restablece la imagen debe ser el mismo método al que llamó mientras lo configuraba.
Cuando desee restablecer la fuente de la imagen @ dennis.sheepard la respuesta funciona bien solo si originalmente está configurando la imagen en el mapa de bits utilizando
setImageResource()
por ejemplo,
Yo había usado
setImageBitmap()
y, por lo tanto, la configuraciónsetImageResource(0)
no funcionó, en su lugar, lo hicesetImageBitmap(null)
.fuente
si usas glide puedes hacerlo así.
fuente
Pude lograr esto definiendo un dibujable (algo como blank_white_shape.xml):
Luego, cuando quiero borrar la vista de la imagen, solo llamo
¡Esto funciona muy bien para mí!
fuente
Para la imagen del elemento ListView puede establecer
ImageView.setVisibility(View.INVISIBLE)
oImageView.setImageBitmap(null)
en el adaptador de lista para el caso "sin imagen".fuente
Como escribió kwasi y editó golu , puede usar transparente, en lugar de blanco:
Expediente
drawable/transparent.xml
Dentro de una actividad, vista, etc.
fuente
Esto funciona para mi.
Esto se bloquea en tiempo de ejecución.
fuente
Para eliminar la imagen en ImageView use:
title_image.setImageResource(-1);
funciona para mí
fuente
Si usa la biblioteca de soporte, obtiene en
AppCompatImageView
lugar deImageView
, que es compatiblesetImageResource(0)
con todos los dispositivos, por lo que debería estar bien usarlo de la misma manera que usarsetImageDrawable(null)
ysetImageBitmap(null)
De lo contrario, debería funcionar bien a partir de alguna versión de Android. Según el código de Android y según mis pruebas, creo que debería ser seguro usarlo
setImageResource(0)
desde la API 22 de Android (5.1). Puedes ver el código de Android de API 22 vs API 21, aquífuente
Estaba enfrentando el mismo problema, cambié el color de fondo de la vista al color de fondo del diseño que puede hacer así:
// luego configura la imagen
fuente
Traté de eliminar la imagen de ImageView también usando
ImageView.setImageRessource(0)
pero no funcionó para mí.Afortunadamente recibí este mensaje en los registros:
Entonces, digamos,
layoutmanager
es su instancia para el diseño, de lo que necesita hacer eso:fuente
¿Puedo señalar lo que todos están tratando de establecer e int donde se espera un sorteo?
¿No deberías estar haciendo lo siguiente?
fuente