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配列などの多次元配列も可能となる。