69

フォルダにいくつかの画像がありres/drawableます。img1.pngimg2.pngしましょうimg3.png。私は現在、このようなJavaでこれらのイメージIDの整数配列を作成しています

int[] imgIds = {R.drawable.img1, R.drawable.img2, R.drawable.img3};

res/values代わりに、このようにファイルの1つ(たとえばstrings.xml)に整数配列を作成することは可能ですか

<integer-array name="img_id_arr">
    <item>@drawable/img1</item>
    <item>@drawable/img2</item>
    <item>@drawable/img3</item>
</integer-array>

getResources().getIntArray(R.array.img_id_arr)次に、Java で?経由でアクセスします。

4

4 に答える 4

70

「整数配列」の代わりに「配列」のみを使用してください。開発者ガイドの型付き配列を参照してください。

于 2011-03-18T06:45:32.117 に答える
52

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]));
于 2012-09-18T03:48:47.973 に答える