android - Firebase 按字符搜索

标签 android firebase firebase-realtime-database searchview firebaseui

我在我的 firebase 应用程序中使用 FirebaseRecyclerAdapter,直到现在我仍然不知道如何按字符在 Firebase 中搜索,我已经使用了一个查询并且我得到了一个很好的结果但它不可用,这是我的数据库我想搜索:

enter image description here

这是我使用的方法,但如果我只输入全名,它会得到“用户名”,所以如果我写“m”,什么也不会显示:

mMainSearcher.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {

            Query Q = mDatabase.child("Users").orderByChild("Username").equalTo(newText);

            FirebaseRecyclerAdapter<Getting_Friends, Search.SearchViewHolder> firebaseRecyclerAdapter22 = new FirebaseRecyclerAdapter<Getting_Friends, Search.SearchViewHolder>(
                    Getting_Friends.class, R.layout.my_friends_card, Search.SearchViewHolder.class, Q) {
                @Override
                protected void populateViewHolder(final Search.SearchViewHolder viewHolder, final Getting_Friends model, int position) {

                    viewHolder.setUsername(model.getUsername());
                    viewHolder.setProfile(getApplicationContext(), model.getProfile());

                }
            };
            mFriendsRecyclerView.setAdapter(firebaseRecyclerAdapter22);
        return false;
        }
    });

这是我输入全名时得到的结果:

enter image description here

这是我写“M”或“m”时得到的结果:

enter image description here

所以我只需要 >> 当我自动写“m”时,所有以“m”开头的用户名都必须像 mike 一样显示。

最佳答案

试试这个

Query Q = mDatabase.child("Users").orderByChild("Username").startAt(newText).endAt("~");

关于android - Firebase 按字符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42536273/

相关文章:

java - Firebase 获取 child 的 child 的引用

java - 膨胀 View 后无法以编程方式设置约束

android - Delphi XE5 发布版本的 Android 应用程序 -- 禁用互联网

Android 布局 - 具有相同位置的 UI 对象

设置蓝牙服务名称的Android问题

ios - 数据未显示在 firebase 数据库中

收到电子邮件后触发 firebase 功能

firebase - Firebase中基于多个where子句的查询

Android Firebase 从 DatabaseReference 中删除查询监听器

android - 无法转换为 DatabaseReference