Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:排序微调器条目(通过XML字符串数组提供)_Android_Sorting - Fatal编程技术网

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

Android:排序微调器条目(通过XML字符串数组提供),android,sorting,Android,Sorting,我对安卓相当陌生,所以如果我没有使用正确的“术语”,请原谅我 我一直在研究微调器,发现有两种方法可以添加条目: 在我的活动的.java文件中,使用StringAdapters等 在xml中,使用“android:entries”属性和strings.xml文件中定义的字符串数组 我尝试了第一个选项,并能够对微调器选项进行排序(我检索了字符串数组,将其放入ArrayList,然后使用集合。排序…可能不是最简单的解决方案),但我对使用第二个选项更感兴趣,因为我已经定义了所有字符串,看起来这会让我的代

我对安卓相当陌生,所以如果我没有使用正确的“术语”,请原谅我

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

  • 在我的活动的.java文件中,使用StringAdapters等
  • 在xml中,使用“android:entries”属性和strings.xml文件中定义的字符串数组
  • 我尝试了第一个选项,并能够对微调器选项进行排序(我检索了字符串数组,将其放入ArrayList,然后使用集合。排序…可能不是最简单的解决方案),但我对使用第二个选项更感兴趣,因为我已经定义了所有字符串,看起来这会让我的代码更轻。。。另外,我想知道是否有一种方法可以对我正在做的事情进行谴责。。。 我现在在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>
    
    
    仰泳100
    蝴蝶50
    蝴蝶100
    @弦乐/比赛(蝴蝶100)
    @弦乐/仰泳比赛100
    @弦乐/比赛(蝴蝶50)
    
    并将
    android:entries=“@array/competities”
    放入我的xml微调器定义中


    现在我的问题:参赛作品的添加顺序与比赛定义中出现的顺序相同。我知道我可以手动对它们进行排序,但如果我的应用程序以不同的语言运行(我想顺序会保持不变),这就行不通了有没有办法直接在xml中对字符串进行排序?

    根据需要为需要新排序顺序的翻译定义不同版本的
    资源,以影响排序顺序。这样,如果您翻译
    资源,那么您也“翻译”了
    排序顺序。

    那么您的意思是在我的意大利语文件:values it\strings.xml中,我需要用相同的名称重新定义?哦,这似乎是相当多的开销。。。如果我在英语中添加了一个新字符串,却忘了将其添加到意大利语版本,该怎么办?它会丢失还是会被放在末尾?@PLB:“那么,你的意思是在我的意大利语文件:values it\strings.xml中,我需要用相同的名称重新定义吗?”--是的,但前提是排序顺序不同。列表越长,排序顺序越有可能随翻译而改变。“哦,这似乎是相当高的开销”——是的。中间立场是不要使用
    android:entries
    ,自己加载
    getResources().getStringArray()
    getResources().getTextArray()
    ),用Java对其排序,并将其与
    ArrayAdapter
    一起使用。