Android:如何获取Android资源的资源ID

时间:2012-08-12 09:20:28

标签: android resources

我想获取我已保存在/ 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方法。

请让我知道如何实现这一目标。

1 个答案:

答案 0 :(得分:41)

您应该可以使用getIdentifier()获取资源ID:

int id = this.getResources().getIdentifier("xyz", "raw", this.getPackageName());