如何从Android中的Activity中的SearchView过滤Fragment中的RecyclerView列表?

时间:2018-06-02 07:43:27

标签: android filter android-recyclerview searchview

我再次回到我面前,再次面对Android中的实现问题。

就是这样,我在一个Activity中有一个片段,它在Fragment中显示一个填充的RecyclerView。然而,Activity在其中,有一个SearchView。

现在,我想要的是根据活动中存在的SearchView中键入的文本,过滤片段中存在的RecyclerView中的列表。

我的想法是如何实现这个?

  

回调实现?如果是这样,怎么样?如果别的什么,怎么??

专家!我陷入困境。请让我知道如何克服这个障碍。

指望你们!等待您的积极和详细的回应。谢谢!

3 个答案:

答案 0 :(得分:0)

您可以看到我对搜索Mediateka

的实现

答案 1 :(得分:0)

在片段中写一个函数说

 public void setSearchQuery(String query){
    if(TextUtils.isEmpty(query)){
    yourAdapterItems=originalAdapterItems;
    nnotifyDataSetChanged();
    }else{
    copyOfAdapterItems=originalAdapterItems;
    yourAdapterItems=filter(copyOfAdapterItems,query);
    notifyDataSetChanged();
    }
    }

现在在过滤器功能中,实现过滤器的逻辑

在searchView和

上添加textWatcher
void onTextChanged(...String query)
{
yourFragmentObjectReference.setSearchQuery(query);
}

答案 2 :(得分:0)

我在活动中创建了另一个recyclerview,在其适配器中我实现了filterable,然后将完全相同的数据传递给它的适配器,就像在片段的适配器中一样。它对我有用。