目前我正在Android应用程序中绘制PNG图像,如下所示:
ImageView image = new ImageView(context);
image.setImageDrawable(context.getResources().getDrawable(R.drawable.testimage))
Run Code Online (Sandbox Code Playgroud)
如果我在数据库中有一个图像名称列表,有没有办法使用图像名称设置上面的drawable?我已经有了通过数据库的代码,我只是想根据从这里取得的值来绘制图像.
例如,DB的记录:
ID: Name: ImageName:
- Test testimage
Run Code Online (Sandbox Code Playgroud)
因此,当我正在阅读此记录时,我有一个值为"testimage"的字符串,然后我想将图像设置为drawable R.drawable.testimage.
我想做的一种方式是这样的:
int image = R.drawable.blank; // blank image
// testimage.png is the image name from the database
if(imageName.toString().equals("testimage.png"))
image = R.drawable.testimage;
else if(imageName.toString().equals("another.png"))
image = R.drawable.another;
else if(imageName.toString().equals("etc.png"))
image = R.drawable.etc;
Run Code Online (Sandbox Code Playgroud)
但是这不是很有效!
谢谢
我正在制作Android应用.我有ImageView一部分代码,我需要更改其资源.我有一个String数组
String[] names = {"chair","desk"};
我的drawable文件夹中有2个图像,其名称为"chair"和"desk".我用的时候
image.setImageResource(R.drawable.chair);
它完美地运作.但我需要将其用作:
image.setImageResource(R.drawable.names[0]);
Run Code Online (Sandbox Code Playgroud)
但Java不允许我这样做.我需要将string的值发送给该方法.有没有办法做到这一点?