开发者

Remove the image from a imageview Android [duplicate]

This quest开发者_如何学JAVAion already has answers here: How to clear an ImageView in Android? (18 answers) Closed 5 years ago.

I'm trying to make an ImageView that holds a gallery of images. By touching the user request to load the next image. If the next image isn't found in the server or takes time to load I need the old image to be empty.

setVisibility(View.GONE) or setVisibility(View.INVISIBLE) don't work for me because when invisible/gone I stop the onTouch() detecting (and the user is locked to current image).

How can I make the ImageView to load a empty bitmap or clear (remove) current bitmap?


I always use

imageView.setImageDrawable(null);


Try:

imageView.setImageResource(0);

This will set the image view to use no resource.


From what I've noticed, the "working" or not of certain method when clearing image depends on the method used to populate ImageView.

So if you set img.setImageBitmap(bmp) then to clear you should use img.setImageBitmap(null). When you img.setImageResource(resId) then to clear you should use img.setImageResouce(0). Etc.


Certainly imageView.setImageResource(0) works. It has never failed for me and I have used it many times.

setImageResource is usually passed the reference R.drawable,(the reference for the picture), which is stored as an int, but displayed in the R.java class as a hex value, 0xf2fs... So assuming this reference exist it will show a picture, if you later pass that same imageview a reference which does not exist the old picture will no longer show. So, if you pass it 0, or 5 or an int which does not match a resource referenced in your R.java class it will remove the picture completely from the src of the imageView. So if you are passing 0 to the old reference of the imageView.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜