首页 > 解决方案 > 从android studio的布局文件中的字符串数组访问字符串

问题描述

我正在使用 Android Studio 并在我的 string.xml 文件中有一个数组:

<string-array name="my_array">
    <item>text1</item>
    <item>text2</item>
    <item>text3</item>
</string-array>

我知道如何在 MainActivity.java 文件中访问数组(并获取第一项):

myButton.setText(getResources().getStringArray(R.array.my_array)[0]);

我的问题:是否可以直接在activity_main.xml 文件中设置文本?我试过:

<Button
    android:id="@+id/myButton"
    android:text="@array/my_array[0]"
    ... />

但这会导致错误。如果没有“[0]”,它会显示第一个值(text1),但这可能只是因为按钮的大小而没有显示其余部分 - 我无法让它显示其他项目(例如,text2)。

是否可以直接在布局文件中访问数组的一个值?谢谢。

标签: androidxml

解决方案


我在这里找到了一个很好的答案:https ://stackoverflow.com/a/4161645/933969

基本上,您首先创建命名字符串(并在需要 mystrings[x] 的地方使用那些),然后使用对这些命名字符串的引用创建数组:

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

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

推荐阅读