Как отфильтровать список RecyclerView во фрагменте из SearchView в активности в Android? - PullRequest
0 голосов
/ 02 июня 2018

Я снова возвращаюсь ко мне и снова сталкиваюсь с реальной проблемой, связанной с реализацией в Android.

Именно у меня есть фрагмент в действии, который отображает заполненный RecyclerView во фрагменте.Принимая во внимание, что у Activity есть свой SearchView.

Теперь я хочу отфильтровать список в RecyclerView, присутствующий во фрагменте, на основе текста, напечатанного в SearchView, присутствующем в Упражнении.

Вопрос в том, как реализоватьэтот?

Реализация обратного вызова?Если так, то как?Если что-то еще, как ??

Ребята!Я в безвыходном положении.Пожалуйста, дайте мне знать, как преодолеть это препятствие.

Рассчитываю на вас, ребята!Ждет вашего положительного и подробного ответа.Спасибо!

Ответы [ 3 ]

0 голосов
/ 02 июня 2018

Напишите функцию во фрагменте, скажем

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

Теперь в функции фильтра реализуйте свою логику для фильтра

Добавьте textWatcher в свой searchView и на

void onTextChanged(...String query)
{
yourFragmentObjectReference.setSearchQuery(query);
}
0 голосов
/ 13 июня 2018

Я создал другое представление переработчика в действии, и в его адаптере я применил фильтруемость и затем передал в адаптер те же данные, что и в адаптере фрагмента.У меня так получилось.

0 голосов
/ 02 июня 2018

Вы можете увидеть мою реализацию поиска Медиатека

...