首先对标题感到抱歉,但我不知道我可以设置什么标题。
好的,这是我的问题:
我将从外部数据库中提取一个字符串,例如:'picture0001'。
在 res/drawable 文件夹中,我有一张名为 picture0001 的图片。
我想将该图片设置为 ImageView 的背景(源)。
问题是,如何使用从外部数据库中获得的字符串查找这张图片。
非常感谢。
首先对标题感到抱歉,但我不知道我可以设置什么标题。
好的,这是我的问题:
我将从外部数据库中提取一个字符串,例如:'picture0001'。
在 res/drawable 文件夹中,我有一张名为 picture0001 的图片。
我想将该图片设置为 ImageView 的背景(源)。
问题是,如何使用从外部数据库中获得的字符串查找这张图片。
非常感谢。
是的,您可以使用Resources.getIdentifier()
.
Context context = imageView.getContext();
int id = context.getResources().getIdentifier("picture0001", "drawable", context.getPackageName());
imageView.setImageResource(id);
它效率不高,但它可以用来查找偶尔的资源。
你也可以像这样使用反射:
Class c = Class.forName("your.project.package.R");
Field f = c.getDeclaredField("drawable");
Class d = f.getDeclaringClass();
Field f2 = d.getDeclaredField("yourstring");
int resId = f2.getInt(null);
Drawable d = getResources().getDrawable(resId);
不过,最好的解决方案是 MarvinLabs 建议的。