Можно ли получить доступ к элементу массива строк в Android?

15

snip-code из значений /string.xml:

<array name="categories">
    <item name="today">Today</item>
    <item name="life">Life</item>
    <item name="corner">Corner</item>
    <item name="banks">Banks</item>
    <item name="it">IT</item>
    <item name="fun">Fun</item>
</array>

snip-code из layout/main.xml:

<Button
    android:id="@+id/today"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="8sp"
    android:text="@array/categories"
    />

Можно ли присвоить имя метки кнопке с id = today непосредственно из values ​​/string.xml, используя строковый массив с name = категории и конкретный элемент, в данном случае - сегодня?

  • 0
    Ах, значит, вы имеете в виду android: text = "@array/categories.today"array / Categories [0]" (это неверно), но это то, что вы хотите, верно? Пробовал android: text = "@array/categories.today"array / Categories.today"?
  • 0
    Это именно то, что я имел в виду! Но android:text="@array/categories.today&quoне работает, другие догадки?
Теги:
arrays
layout

1 ответ

19

См. выбранный ответ здесь: Android - ссылка на строку в ресурсе массива строк с xml.

В соответствии с этим ответом вам нужно сделать что-то вроде этого:

<string name="earth">Earth</string>
<string name="moon">Moon</string>

<string-array name="system">
    <item>@string/earth</item>
    <item>@string/moon</item>
</string-array>

Тогда вы просто выполните:

  <Button ....
  android:text="@string/earth" />
  • 3
    Я думаю, вы меня неправильно поняли. Я хочу получить значение одного элемента массива, объявленного в файле values / string.xml, и поместить это значение в текст кнопки. android:text="@array/categories/<i
  • 4
    Правильно, техника, показанная выше, показывает, как это сделать. Вам просто нужно изменить значения массива, чтобы они были структурированы, как указано выше. Просто взгляните еще раз и попробуйте. Прочитайте ответ в ссылке, которую я разместил.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх