我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
当前回答
要删除ImageView中的图像,请使用: title_image.setImageResource (1); 这对我很有用
其他回答
我能指出你都试图设置和int它期望一个可绘制。
你不应该做以下事情吗?
imageview.setImageDrawable(this.getResources().getDrawable(R.drawable.icon_image));
imageview.setImageDrawable(getApplicationContext().getResources().getDrawable(R.drawable.icon_profile_image));
我试图通过使用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);
正如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);
我知道这很旧了,但我能用
viewToUse.setImageResource(0);
看起来不应该有用,但我一时兴起试了一下,效果很好。
如果你使用支持库,你会得到AppCompatImageView而不是ImageView,它在所有设备上支持setImageResource(0),所以你应该可以像使用setImageDrawable(null)和setImageBitmap(null)一样使用它。
否则,从某些Android版本开始,它应该可以正常工作。根据Android的代码和我的测试,我认为从Android API 22(5.1)使用setImageResource(0)应该是安全的。你可以在这里看到API 22和API 21的Android代码