Add a search filter on RecyclerView with Cards?

前端 未结 3 2177
悲&欢浪女
悲&欢浪女 2020-11-28 05:17

I found solutions for filters on ListView and SearchView on RecyclerView separately, but I wish to combine them. Is it even possible?<

3条回答
  •  盖世英雄少女心
    2020-11-28 05:53

    Inside Fragment Class declare that:

    protected List mDataset;
    protected List mDataOrigin;
    

    then inside onCreate add same source destination to both dataSet ant dataOrigin

    mDataset = getObjectsFromDB();
    mDataOrigin = getObjectsFromDB();
    

    Finally use the magic function:

    private void filterRecyclerView(String charText){
        charText = charText.toLowerCase();
        clearDataSet();
        if (charText.length() == 0) {
            mDataset.addAll(mDataOrigin);
        } else {
            for (User user : mDataOrigin) {
                if (user.getName().toLowerCase().contains(charText)) {
                    mDataset.add(user);
                }
            }
        }
        mAdapter.notifyDataSetChanged();
    }
    

    Notice User is the list content you can replace with your Object have fun :)

提交回复
热议问题