comment vérifier si un ImageView est attaché avec l’image dans Android

Je mets une image dans ImageView dans le code Android pas dans XML, mais je ne peux pas savoir comment vérifier si cette image a été définie ou non dans Java.

Essayé avec imageViewOne.getVisibility() == 0 mais il ne fonctionne pas

Si l’image a été définie sur ImageView, je joins cette image pour l’envoi du courrier.

imageViewOne.getVisibility () == 0

utilisez plutôt ceci:

 imageViewOne.getDrawable() == null 

Notez que si vous définissez une image via ImageView.setImageBitmap(BITMAP) elle crée en interne un nouveau BitmapDrawable même si vous transmettez null . Dans ce cas, la vérification imageViewOne.getDrawable() == null est fausse à tout moment. Pour savoir si une image est définie, vous pouvez effectuer les opérations suivantes:

 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 manière correcte de vérifier si l’image est associée à l’image est la suivante:

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

Certaines méthodes pour charger des images dans ImageView, comme Glide ou Picasso, ont un peu de retard. Il faut donc attendre quelques millisecondes pour vérifier:

  //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 
 ImageView myImage = (ImageView) findViewById(R.id.imageView); if (myImage.getDrawable() == null){ //The imageView is empty } else{ // The imageView is occupied. } 

ou

 ImageView myImage = (ImageView) findViewById(R.id.imageView); if ( null == myImage.getDrawable()){ //The imageView is empty } else{ // The imageView is occupied. } 

Vous pouvez faire imageViewOne.getDrawable () pour l’image que vous définissez sur l’atsortingbut src – ce qui signifie setImageResource / Bitmap. Ou imageViewOne.getBackground () pour l’atsortingbut background – signifiant setBackground.

 if (img_like.getTag() != null && img_like.getTag().toSsortingng().equals("red")) { img_like.setImageResource(R.drawable.heart); img_like.setTag("heart"); } else { img_like.setImageResource(R.drawable.red); img_like.setTag("red"); }