在第一种情况下,如何将R.string资源标识符编号放入整数数组中。
在第二种情况下,我如何将与R.integer资源标识符关联的数字放入数组中。
<integer-array
name="integer_array_name">
<item>@string/nav_heading</item>
<item>@integer/viewtype_heading</item>
....
</integer-array>
使用android studio,如果这有任何区别。
答案 0 :(得分:0)
如果您只想加载资源标识符,并且如果要加载刚刚解析的整数,则将一个xml加载为类型数组似乎是一个答案。您不必更改xml中的数组类型,您可以将其保留为通用&#34;数组&#34;正如我在测试中所做的那样
<array
name="testArray">
<item>@string/nav_vault_heading</item>
<item>@integer/viewtype_heading</item>
</array>
//测试1
int[] intArray= getActivity().getResources().getIntArray(R.array.testArray);
Log.d("MyInts", "IntArray = " + Arrays.toString(intArray));
06-26 16:31:02.826 12952-12952/... D/MyInts﹕ IntArray = [0, 32]
// Test2
适当信用:http://www.anddev.org/xml_integer_array_resource_references_getintarray-t9268.html
TypedArray typedArray= getActivity().getResources().obtainTypedArray(R.array.testArray);
for(int i=0; i<typedArray.length(); i++){
int id = typedArray.getResourceId(i, 0);
Log.d("MyInts", "MyInts: " + id);
}
06-26 16:31:02.826 12952-12952/... D/MyInts﹕ MyInts: 2131165274
06-26 16:31:02.826 12952-12952/... D/MyInts﹕ MyInts: 2131427334