Android:排序微调器条目(通过XML字符串数组提供)

时间:2017-06-18 13:38:39

标签: android sorting

我对Android很陌生,请原谅我,如果我不使用正确的“术语”。

我一直在关注微调器,发现有两种方法可以添加条目:

  1. 在我的活动的.java文件中,使用StringAdapters等
  2. 在xml中,使用“android:entries”属性和 strings.xml 文件中定义的字符串数组
  3. 我尝试了第一个选项并能够对Spinner选项进行排序(我检索了字符串数组,将其放入ArrayList然后使用Collections.sort ......可能不是最简单的解决方案),但我会对使用第二个选项感兴趣,因为因为我已经定义了所有的字符串,所以它似乎会让我的代码更轻......而且,我想知道是否有一种方法我正在努力做什么...... 我现在在 strings.xml 中有这样的东西:

    <resources>
        <string name="competition_backstroke100">Backstroke 100</string>
        <string name="competition_butterfly50">Butterfly 50</string>
        <string name="competition_butterfly100">Butterfly 100</string>
    
        <string-array name="competitions">
        <item>@string/competition_butterfly100</item>
        <item>@string/competition_backstroke100</item>
        <item>@string/competition_butterfly50</item>
    </string-array>
    </resources>
    

    并将android:entries="@array/competitions"放入我的xml微调器定义

    现在我的问题:条目的添加顺序与竞赛定义中显示的顺序相同。我知道我可以手动对它们进行排序,但是如果我的应用程序以不同的语言运行,这将不起作用(我猜这个顺序会保持不变)。 有没有办法直接在xml中对字符串进行排序?

1 个答案:

答案 0 :(得分:1)

根据需要定义<string-array>资源的不同版本,以影响排序顺序,以及需要新排序顺序的翻译。 IOW,如果您翻译<string>资源,您也会“翻译”<string-array>排序顺序。