我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
当前回答
如果这些解决方案都没有清除你已经设置的图像(特别是setImageResource(0)或setImageResources(android.R.color.transparent),检查以确保当前图像没有设置为背景使用setBackgroundDrawable(…)或类似的东西。
你的代码只是将前景中的图像资源设置为你所设置的背景图像前面的一些透明的东西,并且仍然会显示。
其他回答
我试图通过使用ImageView. setimageressource(0)来删除ImageView的图像,但它对我不起作用。 幸运的是,我在日志中看到了这条信息:
Caused by: java.lang.IllegalStateException: The specified child already has a parent.
You must call removeView() on the child's parent first.
比如说,layoutmanager是你的布局实例,然后你需要那样做:
RelativeLayout layoutManager = new RelativeLayout(this);
ImageView image = new ImageView(this);
// this line worked for me
layoutManager.removeView(image);
editText.setText (" ");
imageView.setImageResource(0);
我试图清除ImageView中的Image和DrawableCache
ImgView.setImageBitmap(null);
ImgView.destroyDrawingCache();
我希望这对你有用!
我也遇到了同样的问题,我把视图的背景色改为布局背景色,你可以这样做:
edit_countflag.setBackgroundColor(Color.parseColor("#ffffff"));
//然后设置图像
edit_countflag.setImageResource(R.drawable.flag_id);
我可以通过定义一个可绘制对象(类似于blank_white_shape.xml)来实现这一点:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
当我想清除图像视图时,我只需调用
imageView.setImage(R.drawable.blank_white_shape);
这对我来说非常有用!