我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
当前回答
我能指出你都试图设置和int它期望一个可绘制。
你不应该做以下事情吗?
imageview.setImageDrawable(this.getResources().getDrawable(R.drawable.icon_image));
imageview.setImageDrawable(getApplicationContext().getResources().getDrawable(R.drawable.icon_profile_image));
其他回答
对于ListView项目图像,您可以在列表适配器中设置ImageView.setVisibility(View.INVISIBLE)或ImageView.setImageBitmap(null),用于“无图像”情况。
听起来好像你想要的是一个默认图像,当ImageView没有显示不同的图像时设置它。联系人应用程序是这样做的:
if (photoId == 0) {
viewToUse.setImageResource(R.drawable.ic_contact_list_picture);
} else {
// ... here is where they set an actual image ...
}
我知道这很旧了,但我能用
viewToUse.setImageResource(0);
看起来不应该有用,但我一时兴起试了一下,效果很好。
正如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);
我也遇到了同样的问题,我把视图的背景色改为布局背景色,你可以这样做:
edit_countflag.setBackgroundColor(Color.parseColor("#ffffff"));
//然后设置图像
edit_countflag.setImageResource(R.drawable.flag_id);