我在我的 firebase 应用程序中使用 FirebaseRecyclerAdapter,直到现在我仍然不知道如何按字符在 Firebase 中搜索,我已经使用了一个查询并且我得到了一个很好的结果但它不可用,这是我的数据库我想搜索:
这是我使用的方法,但如果我只输入全名,它会得到“用户名”,所以如果我写“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;
}
});
这是我输入全名时得到的结果:
这是我写“M”或“m”时得到的结果:
所以我只需要 >> 当我自动写“m”时,所有以“m”开头的用户名都必须像 mike 一样显示。
最佳答案
试试这个
Query Q = mDatabase.child("Users").orderByChild("Username").startAt(newText).endAt("~");
关于android - Firebase 按字符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42536273/