无法转换为DatabaseReference

时间:2017-03-01 15:27:57

标签: android firebase firebase-realtime-database firebaseui

我尝试过滤Firebase的数据库,但是我收到了这个错误:

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

这是我的代码。如果我删除.startAt("test")

,它运行良好
DatabaseReference listRef = FirebaseDatabase.getInstance()
   .getReference("question-answer")
   .startAt("test");`

我正在使用FirebaseRecycleViewAdapter,我想过滤该视图。怎么做到这一点?

2 个答案:

答案 0 :(得分:3)

  

错误:(26,107)错误:不兼容的类型:查询无法转换为DatabaseReference

您可以查看official documentation 方法startAt返回Query而不是DatabaseReference

你必须使用:

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

您可以通过传递RecyclerView代替普通Query来使用DatabaseReference

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

答案 1 :(得分:2)

只需使用

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

query是recycleradapter的一个参数,因此它可以工作 因为DatabaseReference扩展了Query