Фильтр в FirebaseRecyclerViewAdapter

По этому вопросу (как реализовать SetOnItemClickListener FirebaseRecyclerViewAdapter) я узнал, как использовать FirebaseRecyclerViewAdapter, чтобы получить представление о переработчике, идеально.

Теперь мне нужно отфильтровать элементы RecyclerView, созданные с помощью FirebaseRecyclerViewAdapter. В моем бизнес-правиле список элементов, и пользователь может их фильтровать.

Если бы это было вручную, то список добавления адаптера я знаю, но поскольку FirebaseRecyclerViewAdapter отвечает за подготовку/обновление списка, у кого-то есть предложение, как поставить фильтр?


person Jonas Rotilli    schedule 13.02.2016    source источник


Ответы (1)


Фильтрация на стороне клиента не поддерживается в текущей версии FirebaseUI. Это есть в дорожной карте, но еще не запланировано: https://github.com/firebase/FirebaseUI-Android/issues/15.

А пока вы можете использовать встроенный Firebase -в возможностях запроса, чтобы ограничить данные. Это имеет то преимущество, что с сервера будут загружены только данные, соответствующие условиям.

Отличным примером того, насколько продвинутым вы можете это сделать, является функция «поиска друзей» в приложении ShoppingList++ курса Udacity Firebase Essentials для Android. Вы можете найти ключевой класс здесь на Github, но я настоятельно рекомендую пройти весь курс, чтобы увидеть, как это работает.

person Frank van Puffelen    schedule 13.02.2016
comment
Привет, @Frank, я использую этот пример из ShoppingList++ для фильтрации в SearchView внутри панели инструментов в моем текущем приложении. Но у меня вопрос: не так ли накладно делать многократные звонки на клиентскую сторону за такое короткое время? Есть ли способ сделать его менее дорогим? используя keepSync (true) или любую другую функцию кеша Firebase? Спасибо за ваше время! - person Francisco Durdin Garcia; 27.09.2016