Search code examples
androidandroid-recyclerviewsearchview

Add multiple field search in SearchView


I have SearchView and I can search in RecyclerView with this code:

private List<Question> filter(List<Question> models, String query) {
        query = query.toLowerCase();

        final List<Question> filteredModelList = new ArrayList<>();
        for (Question model : models) {
            final String text = model.getTitle().toLowerCase();
            if (text.contains(query)) {
                filteredModelList.add(model);
            }
        }
        return filteredModelList;
    }

As you can see this code only search on model.getTitle(), so, is there any way to search in 2 filed model.getTitle() and model.getContent()?

Thanks.


Solution

  • Try below code,

    private List<Question> filter(List<Question> models, String query) {
        query = query.toLowerCase();
        final List<Question> filteredModelList = new ArrayList<>();
        for (Question model : models) {
            final String textTitle = model.getTitle().toLowerCase();
            final String textContent = model.getTitle().toLowerCase();
            if (textTitle.contains(query) || textContent.contains(query)) {
                filteredModelList.add(model);
            }
        }
        return filteredModelList;
    }