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"); }