【问题标题】:Android: how to get values from strings.xml into listview?Android:如何从strings.xml 中获取值到listview 中?
【发布时间】:2014-01-14 12:46:15
【问题描述】:

在我的 Android 应用程序中,我想列出可以单击的选项。无论您单击哪个项目,它总是将您带到相同的下一个屏幕,但使用不同的 .putextra()。我可以用一个简单的 ListAdapter 作为is done here 来做到这一点。

这很好用,但我确实希望在应用程序中将这些值翻译成不同的语言。我想这意味着我需要在我的 strings.xml 中定义列表视图中的所有值。我当然可以在 strings.xml 中定义一些值,但我不知道从哪里开始将我的 strings.xml 中的值获取到列表视图中。

有人知道我如何将可翻译的值转换为 Android ListView 吗?欢迎任何提示!

【问题讨论】:

    标签: android xml listview android-listview android-arrayadapter


    【解决方案1】:

    你有两个选择:

    1. strings.xml 中存储字符串并创建一个列表或数组包含 他们的身份证。您可以使用@TabrejKhan 对此选项所说的内容。
    2. 按如下方式存储字符串数组并将其传递给您的适配器。

    喜欢:

    <string-array name="my_string_list">
        <item>String 1</item>
        <item>String 2</item>
        <item>String 3</item>
        <item>String 4</item>
        <item>String 5</item>
    </string-array>
    

    然后在你的 java 代码中创建适配器

    ArrayAdapter<CharSequence> dataAdapter = ArrayAdapter.createFromResource(activity,
                    R.array.my_string_list);
    

    【讨论】:

    • 感谢您的回答。你认为哪一种更好吗?如果是这样,为什么?
    • 我更喜欢第二个选项,因为您不会在代码和 R.java 中占用额外空间
    • 第二个,当然!
    • 好的,第二个选项就是这样。但是我在哪里存储这个字符串数组?在片段布局文件中,还是在其他地方?
    • 在同一个文件strings.xml中
    【解决方案2】:

    一个简单的答案是...... 像这样创建你的数组:

    String[] listItems = {R.string.text1, R.string.text2, R.string.text3, R.string.text4 /*and so on*/ }; 
    

    【讨论】:

    • 但是,“R.string.text1”......是“int”项目,你怎么能将它们存储在字符串数组中。你能解释一下吗?
    猜你喜欢
    • 2020-05-31
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2019-10-09
    相关资源
    最近更新 更多