如何在多个参数上使用SearchView过滤RecyclerView [英] How to filter Recyclerview with SearchView on multiple parameters
问题描述
我已经实现了这里给出的SearchView示例。
....以过滤并列出公司名称参数产品名称。
在我的项目中,我想扩展这个以进一步过滤城市名称参数
以下是在参数productname上过滤的onQueryTextSubmit的代码。
@覆盖
public boolean onQueryTextSubmit(String query){
return false;
}
private List< ExampleModel> (List< ExampleModel> models,String query){
query = query.toLowerCase();
final List< ExampleModel> filteredModelList = new ArrayList<>();
for(ExampleModel model:models){
final String text = model.getText()。toLowerCase();
final String city = model.getCity()。toLowerCase();
final String product = model.getProduct()。toLowerCase();
final String services = model.getServices()。toLowerCase();
final String state = model.getState()。toLowerCase();
final String zone = model.getZone()。toLowerCase();
if(product.contains(query)){
filteredModelList.add(model);
}
}
return filteredModelList;
我应该如何从这里前进?
只需在这里添加城市名称验证即可:
if(product.contains(query)|| city.contains(query)){
filteredModelList.add(model);
}
I have implemented the SearchView example given here.
How to filter a RecyclerView with a SearchView
....to filter and list company names based on the parameter "Product name".
In my project, I want to extend this to further filter on the parameter on "city name"
The below is the code for the onQueryTextSubmit which filters on the parameter "productname".
@Override public boolean onQueryTextSubmit(String query) { return false; }
private List<ExampleModel> filter(List<ExampleModel> models, String query) {
query = query.toLowerCase();
final List<ExampleModel> filteredModelList = new ArrayList<>();
for (ExampleModel model : models) {
final String text = model.getText().toLowerCase();
final String city = model.getCity().toLowerCase();
final String product = model.getProduct().toLowerCase();
final String services = model.getServices().toLowerCase();
final String state = model.getState().toLowerCase();
final String zone = model.getZone().toLowerCase();
if (product.contains(query)) {
filteredModelList.add(model);
}
}
return filteredModelList;
}
How should I go forward from here?
Just add the city name verification here:
if (product.contains(query) || city.contains(query)) {
filteredModelList.add(model);
}
这篇关于如何在多个参数上使用SearchView过滤RecyclerView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!