Android:Howto获取Android资源的资源ID
问题描述:
我想获取已保存在/ res/raw文件夹中的android资源的资源ID。Android:Howto获取Android资源的资源ID
使用 -
1)我传递的资源类的名称,这个名称被保存在一个字符串fileNeme。
2)获取此文件的语句是this.getResources().openRawResource(R.raw.xyz)
其中xyz是实际的文件名。
3)据我所知,openRawResource(int)方法接受一个int值,因此我不能使用该语句作为this.getResources().openRawResource(R.raw.filename)
,其中filename是上面定义的字符串变量。
问题:我知道保存在名为filename的字符串中的文件名,但我无法打开它,因为该方法采用int格式的资源ID。
我需要获取此文件名的资源ID并将其保存在一个int变量filename_int中并将此变量传递给openRawResource方法。
请让我知道我该怎么做到这一点。
答
你应该能够getIdentifier()
获取资源ID:
int id = this.getResources().getIdentifier("xyz", "raw", this.getPackageName());
由于一吨的工作了。 – user1576339 2012-08-12 09:39:46
谢谢!为了节省下一个人的时间,“xyz”参数就是你想要的xml文件的字符。相信你之前或之后没有任何东西。没有“res /”或“@raw”等。只需清理xyz – Ohiovr 2015-06-29 01:16:59
此外,“xyz”不应包含任何后缀。例如原始资源myfile.json只是“myfile”。 – 2015-12-03 23:25:38