我有一个项目,一个列表,其中每一个项目包含产品的价格,现在我想根据用户输入如何根据两个值
我接受的最低和最高价格来筛选我的数组列表过滤的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