ale*_*000 7 xml string android reference multidimensional-array
我想从strings.xml中的另一个字符串数组引用一个字符串数组.如果我尝试在活动中读取字符串数组(名为"plants"),则每个项的值都为null.
是否有可能获得这些价值?
这是strings.xml的一部分:
<string name="Orlaya_grandiflora_1">Orlaya grandiflora</string>
<string name="Orlaya_grandiflora_2">Large-Flowered Orlaya</string>
<string name="Orlaya_grandiflora_3">Apiaceae</string>
<string-array name="Orlaya_grandiflora">
<item>@string/Orlaya_grandiflora_1</item>
<item>@string/Orlaya_grandiflora_2</item>
<item>@string/Orlaya_grandiflora_3</item>
</string-array>
<string-array name="plants">
<item>@array/Ginkgo_biloba</item>
<item>@array/Capsicum_frutescens</item>
<item>@array/Viscum_album</item>
<item>@array/Orlaya_grandiflora</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
我尝试访问这样的值,例如:
String[] plantArray = resources.getStringArray(R.array.plants);
for (String plant : plantArray) {
System.out.println("--> " + plant);
}
Run Code Online (Sandbox Code Playgroud)
植物的价值在每种情况下都是"空的"
谁知道如何访问这些值?
您应该执行以下操作:
//obtain the array that refrences others array
TypedArray plantArray=getResources().obtainTypedArray(R.array.plants);
//obtain the referenced arrays
CharSequence[] ginkoArray=plantArray.getTextArray(0);
//...
CharSequence[] orlayaArray=plantArray.getTextArray(3);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31601 次 |
| 最近记录: |