我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
我重用ImageViews为我的显示,但在某些时候,我没有值把它。
那么如何在Android中清除ImageView呢?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
他们都没有清除视图,它仍然显示以前的图像。
当前回答
我也遇到了同样的问题,我把视图的背景色改为布局背景色,你可以这样做:
edit_countflag.setBackgroundColor(Color.parseColor("#ffffff"));
//然后设置图像
edit_countflag.setImageResource(R.drawable.flag_id);
其他回答
我知道这很旧了,但我能用
viewToUse.setImageResource(0);
看起来不应该有用,但我一时兴起试了一下,效果很好。
如果你使用滑翔,你可以这样做。
Glide.with(yourImageView).clear(yourImageView)
我以前和丹尼斯一起干过。谢泼德的解决方案:
viewToUse.setImageResource(0);
它可以工作,但它没有被记录,所以它并不清楚它是否会影响视图中的其他东西(如果你喜欢,你可以检查ImageView代码,我没有)。
我认为最好的解决办法是:
viewToUse.setImageResource(android.R.color.transparent);
我最喜欢这个解决方案,因为在恢复状态方面没有任何棘手的问题,而且它也很清楚它在做什么。
我能指出你都试图设置和int它期望一个可绘制。
你不应该做以下事情吗?
imageview.setImageDrawable(this.getResources().getDrawable(R.drawable.icon_image));
imageview.setImageDrawable(getApplicationContext().getResources().getDrawable(R.drawable.icon_profile_image));
如果你使用支持库,你会得到AppCompatImageView而不是ImageView,它在所有设备上支持setImageResource(0),所以你应该可以像使用setImageDrawable(null)和setImageBitmap(null)一样使用它。
否则,从某些Android版本开始,它应该可以正常工作。根据Android的代码和我的测试,我认为从Android API 22(5.1)使用setImageResource(0)应该是安全的。你可以在这里看到API 22和API 21的Android代码