从图像视图中删除图像

我正在尝试制作一个包含图片的 ImageView。通过触摸用户请求来加载下一个图像。如果下一个图像不是在服务器中找到或需要时间加载,我需要旧的图像是空的。

setVisibility(View.GONE)或者 setVisibility(View.INVISIBLE)对我来说不起作用,因为当不可见/消失时,我停止 onTouch()检测(用户被锁定到当前图像)。

如何使 ImageView加载空位图或清除(删除)当前位图?

102478 次浏览

试试:

imageView.setImageResource(0);

这将设置图像视图为不使用任何资源。

SetImageResource (0)当然可以,它从来没有失败过,我也用过很多次。

SetImageResource 通常被传递给引用 R.draable (图片的引用) ,它被存储为一个 int,但是在 R.java 类中显示为一个十六进制值0xf2fs... 所以假设这个引用存在,它将显示一个图片,如果你稍后传递给同一个图像视图一个不存在的引用,旧图片将不再显示。所以,如果你传递给它0,或者5,或者一个不匹配 R.java 类中引用的资源的 int 值,那么它将完全从 imageView 的 src 中删除图片。因此,如果将0传递给 imageView 的旧引用。

我总是用

imageView.setImageDrawable(null);

我注意到,在清除图像时,某个方法的“工作”与否取决于填充 ImageView 的方法。

因此,如果你设置 img.setImageBitmap(bmp),然后清除你应该使用 img.setImageBitmap(null)。 当你的 img.setImageResource(resId)然后清除你应该使用 img.setImageResouce(0)。 等等。