我使用JsTree插件绘制文件夹和文件树,在这里你可以看到我的排序数学代码。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#232222">
<Button
android:id="@+id/startServiceBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/killServiceBtn"
android:layout_alignParentStart="true"
android:layout_gravity="top"
android:layout_marginBottom="17dp"
android:background="@layout/service_action_btns_layout"
android:padding="15dp"
android:text="@string/startBgServiceBtn" />
<Button
android:id="@+id/killServiceBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/startServiceBtn"
android:layout_gravity="top"
android:layout_marginBottom="18dp"
android:background="@layout/service_action_btns_layout"
android:padding="15dp"
android:text="@string/killBgServiceBtn" />
<Button
android:id="@+id/simulateGeofeneEntryBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:background="@layout/simulate_geofence_btn_layout"
android:padding="15dp"
android:text="@string/simulateGeofeneEntryBtn" />
</RelativeLayout>
这段代码给我的结果如
其名称以小写字母开头的平均文件夹,总是在大写字母文件夹名称后显示。根据ASCII大写字母始终排序第一个和小写字母排序大写字母。 但我想对文件夹名称进行排序,例如
AA
AA
我的意思是文件夹必须按字母顺序排序,忽略大小写字母。谢谢提前
答案 0 :(得分:3)
另一种选择是toUpperCase或toLowerCase字符串:
建议:使用函数localeCompare
进行两个字符串之间的比较。
localeCompare()
方法返回一个数字,指示引用字符串是在排序顺序之前还是之后或与给定字符串相同。
if (a1.icon == b1.icon){
return a1.text.toLowerCase().localeCompare(b1.text.toLowerCase());
} else {
return a1.icon.toLowerCase().localeCompare(b1.icon.toLowerCase());
}