我有一個項目,一個列表,其中每一個項目包含產品的價格,現在我想根據用戶輸入如何根據兩個值
我接受的最低和最高價格來篩選我的數組列表過濾的ArrayList範圍,現在我想顯示那些只在這些價格範圍內的記錄。
我正在使用btnSearch來過濾列表,以顯示兩個值之間的記錄,就像我想顯示記錄那些在這兩個值之內;
20000至50000
btnSearch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
editMin.getText().toString();
editMax.getText().toString();
}
});
我使用下面的代碼基於高至低的價格區間來篩選記錄,併爲我使用下面的代碼:
btnHTL.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Collections.sort(arrayList, new Comparator<Home>() {
@Override
public int compare(Home arg1, Home arg2) {
// TODO Auto-generated method stub
Integer obj1 = new Integer(arg1.getPrice().replace(",", ""));
Integer obj2 = new Integer(arg2.getPrice().replace(",", ""));
return (obj2).compareTo(obj1);
}
});
for (int i = 0; i < arrayList.size(); i++) {
System.out.println("HTL:--" + arrayList.get(i).getPrice());
}
adapter.notifyDataSetChanged();
}
});
那麼你面臨什麼問題?任何異常,結果? – 2015-04-06 09:38:11
我不知道如何過濾列表,以顯示兩個值之間的記錄 – Sun 2015-04-06 09:39:38
據我瞭解,你排序列表,但沒有過濾。您必須迭代排序的列表並檢查當前元素是否在給定的價格範圍內。還有一個由Collections2提供的過濾方法。 – Ria 2015-04-06 09:45:01