15

我想获取我保存在 /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 的字符串中的文件名,但我无法打开它,因为该方法采用 int 格式的资源 id。

我需要获取此文件名的资源 id 并将其保存在 int 变量 filename_int 中,并将此变量传递给 openRawResource 方法。

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

4

1 回答 1

46

您应该能够通过以下方式获取资源 ID getIdentifier()

int id = this.getResources().getIdentifier("xyz", "raw", this.getPackageName());
于 2012-08-12T09:26:17.540 回答