首页 > 解决方案 > 是否可以过滤 Firestore Recyclerview(无第三方应用程序)?

问题描述

实际上,我做了一个返回多个对象的第一个查询。

正如我们可以使用标准的 recyclerView 一样,我想在创建视图后使用 EditText 动态过滤这些对象,并动态更新视图。

例如,如果我的第一个查询返回并显示 10 个对象,则用户将能够通过使用 EditText 发出请求,在 10 个对象中搜索一个对象。视图将仅显示此对象。

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 的新手。

标签: androidfirebaseandroid-recyclerviewgoogle-cloud-firestorefirebaseui

解决方案


推荐阅读