我尝试过滤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,我想过滤该视图。怎么做到这一点?
答案 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