首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何替换R.drawable。“someString”

如何替换R.drawable。“someString”
EN

Stack Overflow用户
提问于 2012-02-28 19:49:27
回答 6查看 26.7K关注 0票数 26

我在我的项目中有一些图像。图像的名称存储在一个字符串中,我想用setImageResource(R.drawable.".....");来表示图像名称的字符串,但问题是这不起作用。

我该怎么做呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-02-28 19:56:20

这不是一个正确的语法,而且你必须得到编译时间错误,在更改图像资源之前,你必须知道,所有的资源都提供了一个id,这些id都存储在R.java文件中。id是以整数格式存储的,在您的应用程序中,您可以通过这些id来获取所有这些资源,而不是通过名称,因此您需要首先通过以下方式获取资源的id:

代码语言:javascript
复制
String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());

然后使用这个resID。

票数 63
EN

Stack Overflow用户

发布于 2012-02-28 19:54:46

使用

代码语言:javascript
复制
getResources().getIdentifier("NAME_OF_IMAGE", "drawable", context.getPackageName())
票数 10
EN

Stack Overflow用户

发布于 2012-02-28 19:55:45

请参阅此thread。这应该会对你有帮助。基本上,您需要获取标识符,然后使用setImageResource加载。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9481334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档