2次元配列をXMLで定義してソースからアクセスする方法を忘れずにメモ。
XML
<array name="array_parent"> <item >@array/array_sub1</item> <item >@array/array_sub2</item> </array> <string-array name="array_sub1" > <item >data1</item> <item >data2</item> <item >data3</item> </string-array> <string-array name="array_sub2" > <item >data4</item> <item >data5</item> <item >data6</item> </string-array>
Java
TypedArray typedArray = getResources().obtainTypedArray(R.array.array_parent); // 配列の要素数(ここではarray_parentの子要素の数) int length = typedArray.length(); // 子要素の配列のリソースIDを取得(ここではarray_sub1のリソースID) int resourceId = typedArray.getResourceId(0, 0); // 配列の値を取得(ここではarray_sub1の各値) String[] array = getResources().getStringArray(resourceId);
これに多少の応用を利かせればDrawable配列などの多次元配列も可能となる。