我需要快速安全地檢查一個android.widget.ImageView目前是否有一個附加的非零值的位圖。什麼是一個快速的方法來做到這一點。什麼是快速檢查ImageView是否分配了位圖的方法?
更新我的圖像視圖設置最初可繪製設置爲「logo.png」,所以如果我知道它當前設置爲logo.png比我知道位圖尚未設置。所以,我怎麼能檢查是否背景繪製目前logo.png
感謝
我需要快速安全地檢查一個android.widget.ImageView目前是否有一個附加的非零值的位圖。什麼是一個快速的方法來做到這一點。什麼是快速檢查ImageView是否分配了位圖的方法?
更新我的圖像視圖設置最初可繪製設置爲「logo.png」,所以如果我知道它當前設置爲logo.png比我知道位圖尚未設置。所以,我怎麼能檢查是否背景繪製目前logo.png
感謝
Get Bitmap attached to ImageView
檢查了這一點。
它看起來像你必須從ImageView
創建一個位圖,並檢查它是否是null
。
imageView.setDrawingCacheEnabled(true);
imageView.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());
imageView.setDrawingCacheEnabled(false);
好的。如何快速檢查我的圖像是否仍有src =「logo.jpg」或稍後設置的位圖。我需要非常快地做到這一點。有沒有辦法檢查當前的背景圖片是否是logo.jpg? – NextDroid
我也在尋找答案..我有相同的場景 –
使用getDrawable()方法,如果返回null,則沒有分配
if(mImageView.getDrawable() != null){
//Image Assigned
}else{
//nothing assigned
}
在queston中,他提到imageview已經附帶了默認的「logo.png」。如果你使用你的方法。它不會返回null。因爲「logo.png」已經存在了! –
我在這裏有另一種情況,我有一個背景顏色集。同樣,即使沒有設置src,getDrawable也不會返回null。 –
分配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();
}
可能是這可以幫助 http://stackoverflow.com/questions/9113895/how-to-check-if-an-imageview-is-attcahed-with-image-in-android –
我不能接受你的評論,只有實際的答案。 – NextDroid