如何从 Activity in Android 中的 SearchView 过滤 Fragment 中的 RecyclerView 列表?
How to filter a RecyclerView list in Fragment from SearchView in the Activity in Android?
我又回来了,我再次面临关于 Android 中实施的现实生活问题。
就是这样,我在 Activity 中有一个 Fragment,它在 Fragment 中显示了一个已填充的 RecyclerView。然而,Activity 在其中有一个 SearchView。
现在,我想要的是根据 Activity 中存在的 SearchView 中键入的文本过滤片段中存在的 RecyclerView 中的列表。
我的问题是如何实现这个?
A callback implementation? If so, how? If something else, how??
伙计们!我陷入困境。请让我知道如何克服这个障碍。
指望你们!等待您的积极和详细的答复。谢谢!
你可以看看我的搜索实现Mediateka
在片段中写一个函数say
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);
}
我在 activity 中创建了另一个 recyclerview,在它的适配器中我实现了 filterable,然后将完全相同的数据传递给它的适配器,就像在片段的适配器中一样。那样对我有用。
我又回来了,我再次面临关于 Android 中实施的现实生活问题。
就是这样,我在 Activity 中有一个 Fragment,它在 Fragment 中显示了一个已填充的 RecyclerView。然而,Activity 在其中有一个 SearchView。
现在,我想要的是根据 Activity 中存在的 SearchView 中键入的文本过滤片段中存在的 RecyclerView 中的列表。
我的问题是如何实现这个?
A callback implementation? If so, how? If something else, how??
伙计们!我陷入困境。请让我知道如何克服这个障碍。
指望你们!等待您的积极和详细的答复。谢谢!
你可以看看我的搜索实现Mediateka
在片段中写一个函数say
public void setSearchQuery(String query){
if(TextUtils.isEmpty(query)){
yourAdapterItems=originalAdapterItems;
nnotifyDataSetChanged();
}else{
copyOfAdapterItems=originalAdapterItems;
yourAdapterItems=filter(copyOfAdapterItems,query);
notifyDataSetChanged();
}
}
现在在过滤器函数中,实现您的过滤器逻辑
在您的 searchView 和
上添加一个 textWatchervoid onTextChanged(...String query)
{
yourFragmentObjectReference.setSearchQuery(query);
}
我在 activity 中创建了另一个 recyclerview,在它的适配器中我实现了 filterable,然后将完全相同的数据传递给它的适配器,就像在片段的适配器中一样。那样对我有用。