連番のリソースを、いい感じに引っ張ってくる


連番のリソース名から、リソースIDを取得したい

リストビューなんかで、
連番の画像なんかを表示したい時に、
うまいことpositionとかからリソースIDをひっぱってこれないかなー
とおもって、やってみました。

たとえば、

・postionが0の時、question_01.png,
・positionが1のとき、question_02.png,
・positionが11のとき、question_12.png
...

といった画像のリソースIDを、
drawableからひっぱってくるときには、
下記の通りにすればできます。

// リソースの名前の数字
int qn = (position % 20) + 1;
// リソース名を生成
String prefixRes = String.format("question_%02d", qn);
// リソース名からリソースIDをひっぱってくる
int resId = res.getIdentifier(prefixRes, "drawable", context.getPackageName());

これで、ソースコードもすっきりします。