假设我有
这样的单词列表a, b, c, ą, ć, z, ż
我想按波兰语言环境排序:
a, ą, b, c, ć, z, ż
有可能实现吗?
更新:
假设我必须按两个对象参数并使用排序规则对列表进行排序。 对于一个属性,我可以使用:
val collator = Collator.getInstance(context.getResources().getConfiguration().locale)
myList.sortedWith(compareBy(collator, { it.lastName.toLowerCase() }))
如何添加到此也按firstName
进行排序? (例如,如果会有两个相同的lastName
,然后按firstName
对其进行排序)
答案 0 :(得分:3)
来自here
尝试这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="Nama"
android:textSize="20sp"
android:textStyle="bold"
android:id="@+id/nm2" />
<TextView
android:id="@+id/kmn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/nm2"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:text="Komentar"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
更新:
使您的对象实现可比性:
val list = arrayListOf("a", "b", "c", "ą", "ć", "z", "ż")
val coll = Collator.getInstance(Locale("pl","PL"))
coll.strength = Collator.PRIMARY
Collections.sort(list, coll)
println(list)
尝试一下。