На самом деле, я делаю 1-й запрос, который возвращает количество объектов.
Как мы могли бы с помощью стандартного recyclerView, я хотел бы динамически фильтровать эти объекты с помощью EditText после создания представления и динамически обновлять представление.
Например, если мой первый запросвозвращает и отображает 10 объектов, пользователь сможет искать один объект среди 10 объектов, сделав запрос с EditText. Вид будет отображать только этот объект.
Query query = collectionRef.whereArrayContains("customerNearMe", getCurrentUser().getUid());
private void sendToAdapter(Query query) {
FirestoreRecyclerOptions<Restaurant> options = new FirestoreRecyclerOptions.Builder<Restaurant>()
.setQuery(query, Restaurant.class)
.build();
adapter = new RestaurantAdapter(options);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setAdapter(adapter);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL);
recyclerView.addItemDecoration(new SimpleItemDecorator(getContext()));
adapter.notifyDataSetChanged();
}
@Override
public void onStart() {
super.onStart();
adapter.startListening();
}
@Override
public void onDestroy() {
super.onDestroy();
adapter.stopListening();
}
На самом деле, я знаю, как это сделать с простым RecyclerView
private void filter(String text) {
ArrayList<ExampleItem> filteredList = new ArrayList<>();
for (ExampleItem item : mExampleList) {
if (item.getText1().toLowerCase().contains(text.toLowerCase())) {
filteredList.add(item);
}
}
mAdapter.filterList(filteredList);
}
, но я новичок в Firestore.