Skip to content Skip to sidebar Skip to footer

Searchbar With Tablayout And Viewpager. Searchbar (edittext) Doesn't Filter Through Users, Nor Events

My SearchFragment is the host Fragment for two other Fragments: SearchUsersFragment and SearchEventsFragment. The way I have it organized is the TabLayout and Viewpager are in the

Solution 1:

I have used a searchView here for filtering 3 fragments together

searchView.setOnQueryTextListener(newSearchView.OnQueryTextListener() {
        @OverridepublicbooleanonQueryTextSubmit(String query) {
            returnfalse;
        }

        @OverridepublicbooleanonQueryTextChange(String newText) {

            mAdapter.getFilter().filter(newText);
            fAdapter.getFilter().filter(newText);
            rAdapter.getFilter().filter(newText);
            returnfalse;
        }
    });

And then in my adapters I have done implements Filterable and

@OverridepublicFiltergetFilter() {
    return myFilter;
}

privateFilter myFilter = newFilter() {
    @OverrideprotectedFilterResultsperformFiltering(CharSequence constraint) {

        ArrayList<String> filterList = newArrayList<>();

        if (constraint == null || constraint.length() == 0) {
            filterList.addAll(MainActivity.Db.getWholeData());
        } else {
            String toFilter = constraint.toString().toLowerCase().trim();

            for (String item : MainActivity.Db.getWholeData()) {
                if (item.toLowerCase().contains(toFilter)) {
                    filterList.add(item);
                }
            }
        }

        clickPurposeFav = filterList;
        FilterResults filterResults = newFilterResults();
        filterResults.values = filterList;

        return filterResults;
    }

    @OverrideprotectedvoidpublishResults(CharSequence constraint, FilterResults results) {          

        MainActivity.arrList.clear();
        MainActivity.arrList.addAll((List) results.values);

     }
};

Post a Comment for "Searchbar With Tablayout And Viewpager. Searchbar (edittext) Doesn't Filter Through Users, Nor Events"