2015-11-29 5 views
3

я следующий XMLэталонного массива строк Рез идентификатор из массива

<string-array name="str_arr1"> 
    <item>My item 1</item> 
    <item>My item 2</item> 
    <item>My item 3</item> 
</string-array> 

<string-array name="str_arr2"> 
    <item>My item 4</item> 
    <item>My item 5</item> 
    <item>My item 6</item> 
</string-array> 

Как я могу ссылаться на вышеуказанные струнные массивы, используя массив .. что-то, как показано ниже (может быть другой тип массива, который должен быть использован?)

<string-array name="my_strings_arrays"> 
    <item>R.array.str_arr1</item> 
    <item>R.array.str_arr2</item> 
</string-array> 

в основном в коде, я хочу прочитать my_strings_arrays, а затем для каждого массива, я хочу, чтобы захватить список элементов внутри.

ответ

2

Вашего второй массив должен быть массивом строковых массивов, не массива строк строковых массивов.

Я думаю, что так, как вы бы делать то, что вам нужно:

<array name="my_strings_arrays"> 
    <item>@array/str_arr1 </item> 
    <item>@array/str_arr2 </item> 
</array> 
+0

hmm интересно, можете ли вы обновить ответ, как вы можете загрузить такую ​​вещь с помощью кода? Например, как отобразить элемент1? Большое вам спасибо – Snake

+0

На самом деле, [вот хороший пример уже] (http://stackoverflow.com/a/5931094/3928341), вместо того, чтобы вводить его здесь. – nem035

+0

Право ON !!! Большое вам спасибо :) – Snake

3

В любом ресурсном файле XML можно использовать ссылку на массив/строки/целочисленный/цвет/и т.д.. с префиксом "@". Итак, здесь мы можем использовать @array для получения ссылки на другой массив str_arr1 и str_arr2.

<string-array name="str_arr1"> 
    <item>My item 1</item> 
    <item>My item 2</item> 
    <item>My item 3</item> 
</string-array> 

<string-array name="str_arr2"> 
    <item>My item 4</item> 
    <item>My item 5</item> 
    <item>My item 6</item> 
</string-array> 

Вам необходимо изменить свой код, как показано ниже.

<string-array name="my_strings_arrays"> 
    <item>@array/str_arr1</item> 
    <item>@array/str_arr2</item> 
</string-array>