Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FireBase回收器适配器无法从FireBase检索数据_Java_Android_Firebase Realtime Database_Firebaseui - Fatal编程技术网

Java FireBase回收器适配器无法从FireBase检索数据

Java FireBase回收器适配器无法从FireBase检索数据,java,android,firebase-realtime-database,firebaseui,Java,Android,Firebase Realtime Database,Firebaseui,我的数据库看起来像这样 我正在尝试从购物车中的用户ID获取所有这些数据。但我的回收视图没有显示任何内容。检查后,adapter.getItemCount返回0。我哪里做错了?这是我的代码: 启动 和视窗座 此代码似乎是问题所在: cartList.orderByChild("userID").equalTo(userID) 这段代码直接获取cartList下的每个子节点,并根据它们的userID属性对它们进行排序。但是您的屏幕截图中没有userID属性,因此这将导致一个空

我的数据库看起来像这样

我正在尝试从购物车中的用户ID获取所有这些数据。但我的回收视图没有显示任何内容。检查后,adapter.getItemCount返回0。我哪里做错了?这是我的代码:

启动

和视窗座


此代码似乎是问题所在:

cartList.orderByChild("userID").equalTo(userID)
这段代码直接获取cartList下的每个子节点,并根据它们的userID属性对它们进行排序。但是您的屏幕截图中没有userID属性,因此这将导致一个空列表

我的最佳猜测是cartList下每个节点的键都是用户ID,在这种情况下,您可以使用:

cartList.child(userID)
因此:


我终于明白了。
出于某些原因,我的CartActivity上的RecyclerView需要时间加载数据,可能是因为我在HomeActivity上有3个RecyclerView,有时显示数据,有时不显示,通常是1或2/3的RecyclerView显示数据。当我重新加载并按“上一步”再次启动“活动”时,将显示RecyclerView并显示数据。

我的查询是否错误?嘿,是否启用了proguard规则?是的,我启用了!奇怪的是,我在Firebase的另一个表中使用了它,但它对这个表有效,但对这个表无效。嘿,你在proguard规则中添加了它吗:-保留你的类。app.package.model.*{*;}我有过,但仍然不起作用。我尝试了,但我的RecyclerView仍然没有任何功能,适配器大小是0,先生。这是出乎意料的。您可以编辑您的问题以显示更新的代码吗?我试图将userID添加到表和orderByChilduserID中,但忘记了更新。对不起,先生,我不知道那是什么意思。但我很确定,我在回答中指出的问题至少是代码无法工作的一个原因。¯\_ツ_/''如果我的答案有用,请单击向上投票按钮▲ 在它的左边。如果它回答了您的问题,请单击复选标记✓ 接受它。这样别人就知道你得到了足够的帮助。也看到
public class CartHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    public ImageView shibaImg;
    public TextView txtTen,txtMota,txtGia,txtThoigian;
    ItemClickListener listener;

    public CartHolder(@NonNull View itemView) {
        super(itemView);
        shibaImg = (ImageView) itemView.findViewById(R.id.cart_item_img);
        txtTen = (TextView) itemView.findViewById(R.id.cart_item_ten);
        txtMota = (TextView) itemView.findViewById(R.id.cart_item_mota);
        txtGia = (TextView) itemView.findViewById(R.id.cart_item_gia);
        txtThoigian = (TextView) itemView.findViewById(R.id.cart_item_history);

    }
    public void setItemClickListener(ItemClickListener listener){
        this.listener = listener;
    }

    @Override
    public void onClick(View v) {
        listener.onClick(v, getAdapterPosition(),false);
    }
}
cartList.orderByChild("userID").equalTo(userID)
cartList.child(userID)
final DatabaseReference cartList = FirebaseDatabase.getInstance().getReference().child("Cart");
FirebaseRecyclerOptions<Cart> options =
        new FirebaseRecyclerOptions.Builder<Cart>()
        .setQuery(cartList.child(userID),Cart.class).build();