2012年10月9日火曜日

Rクラスを直接参照せずにリソースを取得する

たまにRクラスを参照せずにリソース(drawable, layout等)を取得したい場合があります。

今まではresource id(例: R.drawable.hogehoge)の値をリフレクションを使って取得するユーティリティーを作ってしのいでいたのですがそんな物を作らなくてもResources.getIdentifier(String, String, String)というそのまんまのメソッドがありました。

ActivityやService内でこんな感じで使えます

int resId = getResources().getIdentifier("hogehoge", "drawable", getPackageName());

0 件のコメント:

コメントを投稿