我在Android代码中将图像设置为ImageView而不是xml,但无法确定如何检查该图像是否已在java中设置.
试过imageViewOne.getVisibility() == 0
但它不起作用
如果图像已设置为ImageView,那么我将附加该图像以发送邮件.
PC.*_*PC. 131
imageViewOne.getVisibility()== 0
改用它:
imageViewOne.getDrawable() == null
Run Code Online (Sandbox Code Playgroud)
小智 36
请注意,如果您通过ImageView.setImageBitmap(BITMAP)它在内部设置图像,BitmapDrawable即使您通过也会在内部创建新图像null.在这种情况下,检查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;
}
Run Code Online (Sandbox Code Playgroud)
检查 ImageView 是否附加图像的正确方法是:
\n\n if (imageView.getDrawable() == null){\n //Image doesn\xc2\xb4t exist.\n }else{\n //Image Exists!.\n }\nRun Code Online (Sandbox Code Playgroud)\n\n一些将图像加载到 ImageView 的方法(例如使用 Glide 或 Picasso)有一点延迟,因此我们必须等待几毫秒来检查:
\n\n //Load Image.\n Glide.with(this)\n .load(imageURL)\n .into(imageView);\n\n //Wait for 500 ms then check!.\n Handler handler = new Handler();\n handler.postDelayed(new Runnable() {\n @Override\n public void run() {\n if (imageView.getDrawable() == null){\n //Image doesn\xc2\xb4t exist.\n }else{\n //Image Exists!.\n }\n }\n }, 500\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
73162 次 |
| 最近记录: |