我正在開發一個Android項目。我有一個項目列表,一行有三列。 現在我需要根據這些列對列表進行排序。 列標題是:number, name, summary
。如何在android中的項目列表上應用排序
現在,如果我點擊數字,比列表應按數字排序,如果我點擊名稱,比列表應按名稱排序。
現在我沒有得到哪個佈局或事件我應該使用這個頭在Android中。
請給我建議。
我正在開發一個Android項目。我有一個項目列表,一行有三列。 現在我需要根據這些列對列表進行排序。 列標題是:number, name, summary
。如何在android中的項目列表上應用排序
現在,如果我點擊數字,比列表應按數字排序,如果我點擊名稱,比列表應按名稱排序。
現在我沒有得到哪個佈局或事件我應該使用這個頭在Android中。
請給我建議。
編輯:
你必須讀這類似的問題,你就可以排序您的數據:
How to sort an ArrayList using multiple sorting criteria?
數據排序後,必須簡單地調用notifyDataSetChanged您的適配器上:約
yourAdapter.notifyDataSetChanged();
更多信息排序: http://en.allexperts.com/q/Java-1046/Sort-2-attributes-collection.htm
首先,爲您可能需要的Employee類的每個 不同方面創建一個Comparator類。 例如:
public class EmployeeAgeComparator
implements Comparator
{
public int compare(Object o1, Object o2) {
int age1 = ((Employee)o1).getAge();
int age2 = ((Employee)o2).getAge();
if (age1 < age2) return -1;
if (age2 < age1) return 1;
return 0;
}
}
一旦你得到了EmployeeIdComparator,EmployeeNameComparator和所有的休息,然後使用此代碼:
Comparator mc;
mc = new EmployeeIdComparator();
Collections.sort(list, mc);
你可以使用比較,在烏爾名單適配器
public class CustomerByNameComparator implements Comparator<Customer>
{
public int compare(Customer o1, Customer o2) {
return o1.getName().compareToIgnoreCase(o2.getName());
}
}
希望它能幫助你......
不知道你爲什麼從某人那裏得到-1。您的答案足夠好:只需對潛在列表進行排序,並通知觀察員有關更改。 – inazaruk
@ Profete162:問題不在於如何對數據進行排序。問題是如何在android應用程序中實現。就像在開發一個網頁時一樣,我們可以使表頭可點擊。但在Android中做什麼。問題是佈局。 – Romi
請問一個正確的問題...想幫忙,但我不明白你想要什麼!你想解釋如何在Button上單擊添加此代碼嗎? –