首页 > 解决方案 > 我想从 firebase 数据库获取订单详细信息到 firebase recyclerview 适配器

问题描述

我想从 firebase 获取所有数据,还想将这些数据存储到 firebase recyclerview。该代码仅显示最后进入回收站视图。但是当我从 Firebase 中删除最后一个数据时,它会显示倒数第二个数据。或如何将子字段添加到 firebase recyclerview。

    mDatabase.addValueEventListener(new ValueEventListener() {
        @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            for (DataSnapshot datas : dataSnapshot.getChildren()) {

                keys = datas.getKey();

                date = datas.child("date").getValue().toString();
                IsCompleted = datas.child("isCompleted").getValue().toString();
                MobileNoFB = datas.child("mobileNo").getValue().toString();
                //Toast.makeText(YourOrdered.this, "Date is :- " + date + " IsCompleted:- " + IsCompleted, Toast.LENGTH_LONG).show();


                if (MobileNoFB.matches(MobileNumber)) {
                    moDatabase = FirebaseDatabase.getInstance().getReference().child("Pending_Orders").child(keys).child("Orders");

                    // Recyclerview data

                    final FirebaseRecyclerAdapter<YourOrderAdapter, YourOrderViewHolder> YORecyclerView = new FirebaseRecyclerAdapter<YourOrderAdapter, YourOrderViewHolder>
                            (YourOrderAdapter.class, R.layout.client_order, YourOrderViewHolder.class, moDatabase) {

                        @Override
                        protected void populateViewHolder(final YourOrderViewHolder viewHolder, final YourOrderAdapter model, final int position) {

                            viewHolder.setProImage(getApplicationContext(), model.getProductImage());
                            viewHolder.setProductQuantity(model.getProductQuantity());
                            viewHolder.setDate(date);
                            viewHolder.setIsCompleted(IsCompleted);
                            viewHolder.setProductColor(model.getProductColor());
                            viewHolder.setProductNo(model.getProductNo());
                        }
                    };
                    YORecyclerView.notifyDataSetChanged();

                    mBlogList.setAdapter(YORecyclerView);
                } else {
                    Toast.makeText(YourOrdered.this, "Ordered does not found...", Toast.LENGTH_LONG).show();
                }

                //Toast.makeText(YourOrdered.this, "I is:- " + i, Toast.LENGTH_LONG).show();
            }

            //Toast.makeText(YourOrdered.this, "Date is :- " + date + " IsCompleted:- " + IsCompleted,Toast.LENGTH_LONG).show();
        }


        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

数据库结构

标签: javaandroidfirebasefirebase-realtime-database

解决方案


请删除

`mBlogList.setAdapter(YORecyclerView);` 

从 for 循环并在 for 循环之后添加它

   `mBlogList.setAdapter(YORecyclerView);`

推荐阅读