java - 试图通过 orderByChild() 通过电话订购,但它不起作用?
问题描述
我不知道为什么 orderByChild() 是 Firebase 数据库。
loadOrders(Common.currentUser.getPhone());
}
private void loadOrders(final String phone) {
FirebaseRecyclerOptions<Request> options;
options = new FirebaseRecyclerOptions.Builder<Request>()
.setQuery(requests, Request.class)
.build();
Log.e(TAG, "after options");
adapter = new FirebaseRecyclerAdapter<Request, OrderViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull OrderViewHolder holder, int position, @NonNull Request model) {
requests.orderByValue().equalTo(phone);
holder.txtOrderId.setText(adapter.getRef(position).getKey());
holder.txtOrderStatus.setText(convertCodeToStatus(model.getStatus()));
holder.txtOrderAddress.setText(model.getAddress());
holder.txtOrderPhone.setText(model.getPhone());
final Request clickItem = model;
}
@NonNull
@Override
public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.order_layout, parent, false);
return new OrderViewHolder(view);
}
};
recyclerView.setAdapter(adapter);
adapter.startListening();
adapter.notifyDataSetChanged();
}
在这里,我正在尝试通过电话订购请求,但数据未订购,它显示了所有请求,我该怎么做?
解决方案
听起来您正在寻找:
FirebaseRecyclerOptions<Request> options;
options = new FirebaseRecyclerOptions.Builder<Request>()
.setQuery(requests.orderByChild("phone"), Request.class)
.build();
您还需要删除requests.orderByValue().equalTo(phone)
,这是一个毫无意义的声明。
推荐阅读
- android - 使用 RxJava 启动异步操作而不订阅 observable?
- php - 通过 array_push 计算行数
- python - Python文件使用OpenCV写入所有边界框坐标
- python - 带有4个表的Python sql
- ios - 我应该为通知服务扩展和通知内容扩展创建单独的 apns 证书吗?
- c# - 无法从通用列表中获取值
- html - 如何在 IE11 上显示 HOVER 属性
- java - 将 JNI -> jobject(基本上是映射和/或 java 文件中的映射)转换为 std::map(c++)
- codeigniter - 部分数据已经输出,无法在codeigniter中发送PDF文件
- mysql - 如何使用 if else 语句修复 mysql 触发器?