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 が上記で定義された文字列変数であるステートメントを使用することはできません。

問題: filename という文字列に保存されているファイル名は知っていますが、メソッドがリソース ID を int 形式で取得するため、開くことができません。

このファイル名のリソース 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 に答える