gpt4 book ai didi

java - 如何根据两个值过滤arraylist

转载 作者:太空狗 更新时间:2023-10-29 16:15:27 25 4
gpt4 key购买 nike

我有一个项目列表,其中每个项目都包含产品价格,现在我想根据用户输入过滤我的数组列表

我接受最低和最高价格范围,现在我只想显示这些价格范围内的记录。

我正在使用 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();
}
});

最佳答案

    btnSearch.setOnClickListener(new OnClickListener() { 

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

Integer objMin = new Integer(editMin.getText().toString());
Log.d("min:", String.valueOf(objMin));
Integer objMax = new Integer(editMax.getText().toString());
Log.d("max:", String.valueOf(objMax));

ArrayList<Home> temp_arraylist = new ArrayList<Home>();

for (int i = 0; i < arrayList.size(); i++) {

int price = (Integer.parseInt(arrayList.get(i).getPrice().replace(",", "")));

if(price >= objMin && price <= objMax){
temp_arraylist.add(arrayList.get(i));
}

}

adapter = new HomeAdapter(getApplicationContext(), R.layout.adapter_home, temp_arraylist);
listview.setAdapter(adapter);

}
});

并比较对象的数组列表.. 请参阅此链接 http://beginnersbook.com/2013/12/java-arraylist-of-object-sort-example-comparable-and-comparator/

关于java - 如何根据两个值过滤arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29468647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com