实施Searchbar到Firebase RecyclerView来搜索Android Studio节点

时间:2019-06-06 09:03:32

标签: android firebase firebase-realtime-database recycler-adapter

我正在尝试实现一个搜索栏,它将搜索节点而不是子节点。如果一个节点有一个孩子,我已经能够实现搜索,然后执行查询并搜索特定孩子的值。我无法实现相同的搜索节点值。谁能帮我知道这是否可行,如果可以的话,该怎么做?

我用于基于子值实现搜索栏的代码是

FirebaseRecyclerOptions<Contacts> options = new FirebaseRecyclerOptions.Builder<Contacts>()
            .setQuery(UsersRef.orderByChild("username").startAt(search).endAt(search + "\uf8ff"), Contacts.class)
            .build();

使用此代码,我可以通过在搜索栏中输入用户名来搜索数据库。

我很想实现基于节点的搜索功能,即当我在搜索栏中输入node的值时,查询应返回该特定节点。有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用orderByKey()方法按节点值查询(假设您使用节点值来提及对象的键)。

FirebaseRecyclerOptions<Contacts> options = new FirebaseRecyclerOptions.Builder<Contacts>()
        .setQuery(UsersRef.orderByKey().startAt(search).endAt(search + "\uf8ff"), Contacts.class)
        .build();