我只想从列表中执行过滤搜索,但我只有 ArrayList 源代码。使用List而不是ArrayList时如何转换?
下面是我的代码:
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults results = new FilterResults();
//CHECK CONSTRAINT VALIDITY
if(constraint != null && constraint.length() > 0)
{
//CHANGE TO UPPER
constraint = constraint.toString().toUpperCase();
//STORE OUR FILTERED ORDER
ArrayList<OrderModel> filteredOrder = new ArrayList<>();
for (int i=0; i<filteredOrder.size(); i++) {
// CHECK
if (filterList.get(i).getCustomerName().toUpperCase().contains(constraint)) {
//ADD CUSTOMER TO FILTERED ORDERS
filteredOrder.add(filterList.get(i));
Log.d("Testing.....","You are here --->" + filteredOrder);
}
}
results.count = filteredOrder.size();
results.values = filteredOrder;
} else {
results.count = filterList.size();
results.values = filterList;
}
return results;
}
最佳答案
如果你替换你的代码应该没问题
ArrayList<OrderModel> filteredOrder = new ArrayList<>();
与
List<OrderModel> filteredOrder = new ArrayList<>();
但要小心,在导入中你必须有
import java.util.List;
当您只使用 add()
和 size()
时,它必须起作用。
关于java - 执行过滤: List<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48861665/