"res" フォルダーに、カスタム フォルダー、ファイル、およびカスタム XML リソース クラスがあります。
私が呼び出すいくつかのカスタム オブジェクトを作成します。
<area id="@+id/someId" name="Some Name" />
R.id.someId で静的にアクセスできます。
ただし、実行時にリソース ID を取得する必要があり、「名前」でそれを行う必要があります。つまり、その「ある名前」をリストに表示し、ユーザーが ListView から「ある名前」を選択したことを知る ID を取得する必要があります。( ListItem の ID を探しているわけではありません。実際にリソースを検索して、エリア xml オブジェクトの ID を取得したいのです)
例えば:
次のようなことをしたいと思います。
int id = getIdFromResourceName("Some Name");
これは可能ですか?
私は使用してみました:
int i = this.getResources().getIdentifier("Some Name", "area", this.getPackageName());
...しかし、それはうまくいかなかったようです。私はいつも0です。
編集
Geobits によって以下に提案されているように、res ファイルからすべてのリソースをロードし、Map<id,name>
それらを後で検索できるように配列/マップに保存する方法はありますか?
お手伝いありがとう!