我重用ImageViews为我的显示,但在某些时候,我没有值把它。

那么如何在Android中清除ImageView呢?

我试过了:

mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);

他们都没有清除视图,它仍然显示以前的图像。


当前回答

我试图清除ImageView中的Image和DrawableCache

ImgView.setImageBitmap(null);
ImgView.destroyDrawingCache();

我希望这对你有用!

其他回答

对于ListView项目图像,您可以在列表适配器中设置ImageView.setVisibility(View.INVISIBLE)或ImageView.setImageBitmap(null),用于“无图像”情况。

嘿,我知道我回答这个问题已经很晚了,但我想我必须分享这个,

当你重置图像时调用的方法必须与你设置图像时调用的方法相同。

当你想重置图片源@dennis。只有当你最初使用setImageResource()在位图中设置图像时,shepard回答才能正常工作。

例如,

我已经使用setImageBitmap(),因此设置setImageResource(0)没有工作,而不是我使用setImageBitmap(null)。

正如kwasi写的和golu编辑的,你可以使用透明,而不是白色:

文件可拉的/ transparent.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="@android:color/transparent"/>
</shape>

在活动、视图等内部:

view.setImageResource(R.drawable.transparent);

我试图清除ImageView中的Image和DrawableCache

ImgView.setImageBitmap(null);
ImgView.destroyDrawingCache();

我希望这对你有用!

这对我很有用。

emoji.setBackground(null);

这会在运行时崩溃。

viewToUse.setImageResource(android.R.color.transparent);