我正在使用FirebaseRecyclerAdapter来显示列表,我想只显示值为true的那些键。 (请注意,键的值存储为布尔值而不是字符串)
我尝试使用如下查询:
mAdapter = new FirebaseRecyclerAdapter<Boolean, PollAdapterViewHolder>(Boolean.class, R.layout.ongoing_poll_list, PollAdapterViewHolder.class, ref.orderByKey().equalTo(true)) {
@Override
public void populateViewHolder(final PollAdapterViewHolder pollViewHolder, Boolean model, int position) {...}
其中,
ref = FirebaseDatabase.getInstance().getReference().child("subscriptions/" + FirebaseAuth.getInstance().getCurrentUser().getUid());
但是,我收到此错误:
java.lang.IllegalArgumentException: You must use startAt(String value), endAt(String value) or equalTo(String value) in combination with orderByKey(). Other type of values or using the version with 2 parameters is not supported
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
看起来你正在使用equalTo(boolean)。错误消息显示使用equalTo(String)。
我怀疑你实际上并不想使用orderByKey()。看起来你可能想要使用orderByValue()。