_res/drawable
_フォルダーにいくつかの画像があります。 _img1.png
_、_img2.png
_、_img3.png
_としましょう。現在、これらの画像IDの整数配列をJavaのように作成しています
_int[] imgIds = {R.drawable.img1, R.drawable.img2, R.drawable.img3};
_
代わりに、_res/values
_ファイル(たとえば_strings.xml
_)のいずれかに整数配列を作成することは可能ですか?
_<integer-array name="img_id_arr">
<item>@drawable/img1</item>
<item>@drawable/img2</item>
<item>@drawable/img3</item>
</integer-array>
_
次に、Java経由でgetResources().getIntArray(R.array.img_id_arr)
?でアクセスします。
「整数配列」の代わりに「配列」のみを使用します。開発者ガイドの Typed Array を参照してください。
XML整数配列、リソース参照、getIntArray を参照してください
TypedArray ar = context.getResources().obtainTypedArray(R.array.my_array);
int len = ar.length();
int[] resIds = new int[len];
for (int i = 0; i < len; i++)
resIds[i] = ar.getResourceId(i, 0);
ar.recycle();
// Do stuff with resolved reference array, resIds[]...
for (int i = 0; i < len; i++)
Log.v (TAG, "Res Id " + i + " is " + Integer.toHexString(resIds[i]));
LevelListDrawable を作成します。それはまさにあなたが望むものではありませんが、かなり達成可能です。