2017-03-01 90 views
1

我试图筛选火力地堡的数据库,但我得到这个错误:不能转换到DatabaseReference

Error:(26, 107) error: incompatible types: Query cannot be converted to DatabaseReference 

这是我的代码。

DatabaseReference listRef = FirebaseDatabase.getInstance() 
    .getReference("question-answer") 
    .startAt("test");` 

我使用FirebaseRecycleViewAdapter,我想筛选视图:如果我删除.startAt("test")它运行良好。如何实现这一目标?

回答

3

Error:(26, 107) error: incompatible types: Query cannot be converted to DatabaseReference

可以在official documentation检查。
方法startAt返回Query而不是DatabaseReference

你必须使用:

Query listRef = FirebaseDatabase.getInstance() 
    .getReference("question-answer") 
    .startAt("test"); 

你可以通过一个Query,而不是一个正常的DatabaseReference使用RecyclerView

Query listRef = ....; 
mAdapter = new FirebaseRecyclerAdapter<XX, XXViewHolder>(XX.class, 
      R.layout.xxx_recycler_item, EXXViewHolder.class, listRef) { ... } 
+0

谢谢它的工作,但它只是从文本的开始搜索..它的工作,如果我有这样的数据'测试你好世界',但没有与此工作数据'hellow测试世界' – martiendt

2

只需使用

查询是针对recycleradapter一个参数,以便将工作 因为DatabaseReference扩展查询

+0

感谢您的答案,但是有可能在数据中间搜索文本?它仍然不工作,如果我的数据像这样的'hello test world' – martiendt