如何使用Android Studio检查ImageView是否具有位图

时间:2018-09-21 13:19:40

标签: android android-studio

我一直在尝试检查ImageView上是否有位图,并且它不起作用。

我尝试过

Bitmap bitmap = ((BitmapDrawable) IdFront.getDrawable()).getBitmap();

但它重新调谐""

imageViewOne.getDrawable() == null

最后:

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;

但是位图返回""而不是null。

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以这样:

        ImageView view = findViewById(R.id.imageView);
        view.setImageResource(R.drawable.sample);
        BitmapDrawable drawable = (BitmapDrawable) view.getDrawable();
        Bitmap bitmap = drawable.getBitmap();

如果您想在调试时知道drawablebitmap变量值,可以看到

drawable.toString() 
bitmap.toString()

就像下面的无花果一样:

enter image description here

答案 1 :(得分:0)

尝试如下:

boolean hasImage = (view.getDrawable() == null);