Android: Howto получить идентификатор ресурса ресурса android

Я хочу получить идентификатор ресурса ресурса android, который был сохранен в папке /res/raw.

Использование -

1) Я передаю имя ресурса классу, и это имя сохраняется в файле stringNeme.

2) Инструкция для получения этого файла this.getResources().openRawResource(R.raw.xyz), где xyz - это фактическое имя файла.

3) Я понимаю, что метод openRawResource (int) принимает значение int, поэтому я не могу использовать оператор как this.getResources().openRawResource(R.raw.filename), где filename - это строковая переменная, определенная выше.

Проблема: я знаю имя файла, которое сохраняется в строке с именем filename, но я не могу ее открыть, поскольку метод принимает идентификатор ресурса в формате int.

Мне нужно получить идентификатор ресурса этого имени файла и сохранить его в переменной int filename_int и передать эту переменную методу openRawResource.

Пожалуйста, дайте мне знать, как я могу это достичь.

Ответ 1

Вы должны иметь возможность получить идентификатор ресурса с помощью getIdentifier():

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