Saltar al contenido

cómo verificar si un ImageView está adjunto con una imagen en Android

Solución:

imageViewOne.getVisibility () == 0

usa esto en su lugar:

imageViewOne.getDrawable() == null

Tenga en cuenta que si establece una imagen a través de ImageView.setImageBitmap(BITMAP)crea internamente una nueva BitmapDrawableincluso si pasas null. En ese caso, el cheque imageViewOne.getDrawable() == nulles falso en cualquier momento. Para saber si una imagen está configurada, puede hacer lo siguiente:

private boolean hasImage(@NonNull ImageView view) {
     Drawable drawable = view.getDrawable();
     boolean hasImage = (drawable != null);

     if (hasImage && (drawable instanceof BitmapDrawable)) {
         hasImage = ((BitmapDrawable)drawable).getBitmap() != null;
     }

     return hasImage;
}

La forma correcta de verificar si ImageView está adjunto con la imagen es:

 if (imageView.getDrawable() == null){
       //Image doesn´t exist.
   }else{
        //Image Exists!.
 }

Algunos métodos para cargar imágenes en ImageView, como usar Glide o Picasso, tienen un pequeño retraso, por lo que debemos esperar algunos milisegundos para verificar:

    //Load Image.
    Glide.with(this)
            .load(imageURL)
            .into(imageView);

   //Wait for 500 ms then check!.
    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
           if (imageView.getDrawable() == null){
              //Image doesn´t exist.
           }else{
              //Image Exists!.
           }
        }
    }, 500
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *