我正试图制作一个ImageView包含图像库的图片.通过触摸用户请求加载下一个图像.如果在服务器中找不到下一个图像或需要时间加载,我需要将旧图像清空.
setVisibility(View.GONE)或者setVisibility(View.INVISIBLE)不为我工作,因为当看不见/消失时我停止onTouch()检测(并且用户被锁定到当前图像).
如何ImageView加载空位图或清除(删除)当前位图?
我将项目相关图像存储在drawable文件夹中.另外,我将图像名称存储在字符串变量中,并且我正在尝试将这些图像设置为imageview.但图像没有显示.请帮助我这方面.
我的代码:
int res = getResources().getIdentifier(imagename, "drawable", this.getPackageName());
imageview= (ImageView)findViewById(R.id.imageView);
imageview.setImageResource(res);
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"imagename"是包含图像名称的字符串变量.
提前致谢
例如,在我的Activity中我有这样的代码(我跳过变量的初始化):
ImageView iview; //some ImageView
Bitmap b; //some Bitmap
iview.setImageBitmap(b);
Run Code Online (Sandbox Code Playgroud)
问题是 - 如何正确清除iview资源(有无破坏视图)?ImageView会在之后释放它的资源(在本机代码中使用)b.recycle()吗?
我想,这ImageView的不活动后,只是免费的IT资源onStop(或onDestroy).
我有一个透明的ImageButton.单击时,按钮的ImageResource设置为drawable-hdpi文件夹中的drawable(基本上图像显示在透明ImageButton的顶部).我正在使用这种ImageButton.setImageResource()方法来做到这一点.我的问题是,如何删除图像资源,以便再次只有透明图像按钮.当然,我需要能够在java中执行此操作,而不是XML.我尝试了以下ImageButton.setImageResource(null); 无效的方法:我也看了一下,找不到答案......提前感谢您的帮助.
编辑:谢谢大家的回答.PéterVarga的回答正是我所需要的,所以这就是我的目标.