android strings.xml中的引用字符串数组

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)

植物的价值在每种情况下都是"空的"

谁知道如何访问这些值?

Par*_*ani 23

直接给出的例子: Android - String Resources

在此输入图像描述

  • @eMich我提到过将字符串数组放入字符串数组中? (2认同)

Ovi*_*tcu 7

您应该执行以下操作:

  //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)