我在我的项目中有一些图像。图像的名称存储在一个字符串中,我想用setImageResource(R.drawable.".....");来表示图像名称的字符串,但问题是这不起作用。
我该怎么做呢?
发布于 2012-02-28 19:56:20
这不是一个正确的语法,而且你必须得到编译时间错误,在更改图像资源之前,你必须知道,所有的资源都提供了一个id,这些id都存储在R.java文件中。id是以整数格式存储的,在您的应用程序中,您可以通过这些id来获取所有这些资源,而不是通过名称,因此您需要首先通过以下方式获取资源的id:
String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
然后使用这个resID。
发布于 2012-02-28 19:54:46
使用
getResources().getIdentifier("NAME_OF_IMAGE", "drawable", context.getPackageName())
发布于 2012-02-28 19:55:45
请参阅此thread。这应该会对你有帮助。基本上,您需要获取标识符,然后使用setImageResource
加载。
https://stackoverflow.com/questions/9481334
复制相似问题