我想获取我已保存在/ res / raw文件夹中的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方法。
请让我知道如何实现这一目标。
答案 0 :(得分:41)
您应该可以使用getIdentifier()
获取资源ID:
int id = this.getResources().getIdentifier("xyz", "raw", this.getPackageName());