Android 什么是检查ImageView是否已分配位图的快速方法?

Android 什么是检查ImageView是否已分配位图的快速方法?,android,Android,我需要快速安全地检查android.widget.ImageView当前是否附加了非零值位图。做这件事的快捷方法是什么 更新我的图像视图最初设置为“logo.png”,因此如果我知道它当前设置为logo.png,那么我知道位图尚未设置。那么,如何检查当前logo.png是否为背景可绘制 谢谢 看看这个 看起来您必须从ImageView创建位图,并检查它是否为null imageView.setDrawingCacheEnabled(true); imageView.buildDrawin

我需要快速安全地检查android.widget.ImageView当前是否附加了非零值位图。做这件事的快捷方法是什么

更新我的图像视图最初设置为“logo.png”,因此如果我知道它当前设置为logo.png,那么我知道位图尚未设置。那么,如何检查当前logo.png是否为背景可绘制

谢谢

看看这个

看起来您必须从
ImageView
创建位图,并检查它是否为
null

imageView.setDrawingCacheEnabled(true);    
imageView.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());
imageView.setDrawingCacheEnabled(false);
使用getDrawable()方法,如果它返回null,则不分配任何内容

if( mImageView.getDrawable() != null){

  //Image Assigned

}else{
  //nothing assigned

}

ImageView
分配给
onCreate
中的变量:

someImage = (ImageView) findViewById(R.id.imageView);
然后是一个简单的if-else语句:

Bitmap bm = ((BitmapDrawable) someImage.getDrawable()).getBitmap();

                boolean hasDrawable = (bm != null);
                if(hasDrawable) 
                {
                    hasImage();
                }
                else 
                {
                    Toast.makeText(AppSettings.this, "No Bitmap", Toast.LENGTH_SHORT).show();
                }

Kotlin扩展解决方案:

添加此选项可以简化检查并使其更具可读性

fun ImageView.hasDrawable() = drawable != null
然后打电话

myView.hasDrawable()

也许这会有帮助,我不能接受你的评论,只有实际的答案。好的。如何快速检查图像是否仍有src=“logo.jpg”或稍后设置的位图。我需要很快做到这一点。有没有办法检查当前背景图像是否为logo.jpg?我也在寻找答案。与我在queston中的场景相同,他提到imageview已经附加了默认的“logo.png”。如果你使用你的方法。它不会返回null。因为“logo.png”已经存在了!!我还有一种情况,我有一套背景色。同样,即使未设置src,getDrawable也不会返回null。