Android的getResources/getIdentifier方法未返回ID

3
我有这样的代码:
String s = "replace__menu__" + data.imageid + ".png";
int RID = this.getApplicationContext().getResources().getIdentifier(s, "drawable-hdpi", getPackageName());

String s =指令设置的值与我res/drawable-hdpi文件夹中的名称之一相同。然而,返回的值将RID设置为值0

有什么想法,为什么我的代码不起作用?我做错了什么吗?


3
从 s 中移除扩展名,String s = "replace__menu__" + data.imageid; - Blackbelt
谢谢。不过我仍然遇到同样的问题。 - Tom
你的res/drawable文件夹里有一张名为"replace__menu__+"data.imageid的png图片吗? - Blackbelt
好的...再看一遍,现在代码似乎对大多数图像都有效,除了一个(透明图像)。我对这个图像做了一个命名错误。(不幸的是,这是我用来检查这里给出的建议的那个图像。)谢谢大家! - Tom
2个回答

6

试试这个

String s = "replace__menu__" + data.imageid;  // image name is needed without extention
int RID = this.getApplicationContext().getResources().getIdentifier(s, "drawable", getPackageName());

1
你的评论--需要图像名称但不包括扩展名...对我很有帮助..非常感谢。 - Nicks

3
".png" is not part of a ressource name
"drawable-hdpi" I would try just 'drawable' instead 

谢谢。不过我仍然遇到同样的问题。 - Tom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接