我一直在搜索有关如何通过vaule搜索firebase的搜索,我无法完全回答所以我现在要问…
我使用过这种方法,但无法得到正确的结果:
这是我的数据库:
mSearchView.setonQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { mQuery = mDatabase.orderByChild("Username"); return false; } });
我也使用过:
mSearchView.setonQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { mQuery = mDatabase.orderByChild("Username").equalTo(newText) return false; } });
但我不能这样,任何人都可以给我完全正确的答案
感谢AtaerCaner帮助我,也感谢您尽可能多地帮助我,但我仍然没有从搜索视图中得到任何结果,所以我将提供我班上的方法:
mDatabase.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(final DataSnapshot dataSnapshot,String s) { mSearchView.setonQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { String A = (String) dataSnapshot.child(Post_Key).child("Username").getValue(); mQuery = mDatabase.orderByChild(A).equalTo(query); return false; } @Override public boolean onQueryTextChange(String newText) { String A = (String) dataSnapshot.child(Post_Key).child("Username").getValue(); mQuery = mDatabase.orderByChild(A).equalTo(newText); return false; } }); }
所以请检查方法是否正确..
解决方法
让我们想想我正在寻找迈克.首先,通过用户名mDatabase.child(“Users”)将所有用户带到.swountByChild(“Username”).但我想要Mike的数据,所以我添加.equalTo(“Mike”).这会返回一个查询,然后设置一个.addListenerForSingleValueEvent来获取Mike的数据.我想要的信息将作为可迭代对象,在此回调中有一个项目.然后将其转换为用户模式.
mDatabase.child("Users").orderByChild("Username").equalTo("Mike").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { User user = dataSnapshot.getChildren().iterator().next().getValue(User.class); } @Override public void onCancelled(DatabaseError databaseError) { } });
就我在你的代码中看到的那样,你可以使用mQuery = mDatabase.orderByChild(A).equalTo(newText)获得查询,但是你没有对它做任何事情.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。