回收站视图包含空模型

问题描述 投票:0回答:1

我想从Firebase数据库中获取数据并将其设置在recyclerview上,但我有一个cardview模型但问题是即使我添加了模型测试以跳过空模型,recyclerview仍包含空模型,但始终出现该错误,请检查图像以更了解我的问题。

this is how it look like

就像您在图片中看到的一样,它是一个空模型,在我的数据库中不存在。

我的recyclerview代码是:

orderAdapter=new FirebaseRecyclerAdapter<Order, Orderviewholder>(personsOptions) {
        @Override
        protected void onBindViewHolder(@NotNull final Orderviewholder holder, int position, @NotNull Order model) {
            if(model!=null){
                holder.setTitle("product name:"+model.getName());
                imageView10=holder.mView.findViewById(R.id.imageVieworder);
                Picasso.get().load(model.getImage()).into(imageView10, new Callback() {
                    @Override
                    public void onSuccess() {
                        ProgressBar progressbar3;
                        progressbar3=holder.mView.findViewById(R.id.progressBar4);
                        progressbar3.setVisibility(View.INVISIBLE);
                    }

                    @Override
                    public void onError(Exception e) {

                    }
                });
                holder.setdesc(model.getDesc());
                holder.setprice(model.getPrice());
                holder.setquantity(model.getQuantity());
                TextView status;
                status=holder.mView.findViewById(R.id.statusorder);
                status.setText(model.getStatus());
                status.setVisibility(View.VISIBLE);
                delorder=holder.mView.findViewById(R.id.orderDelbtn);
                delorder.setText("done");
                holder.mView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        delorder.setVisibility(View.VISIBLE);
                    }
                });
                model2=model;
                delorder.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        dborder.child(currentUser.getUid()).child(model2.getId()).removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NotNull Task<Void> task) {
                                if (task.isSuccessful()) {
                                    Toast.makeText(Client_order.this, "order deleted successfully", Toast.LENGTH_LONG).show();
                                }
                            }
                        });
                    }
                });
                submit.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        ref=FirebaseDatabase.getInstance().getReference().child("order").child(user_id.toString().trim());
                        ref2=FirebaseDatabase.getInstance().getReference().child("order").child(user_id.toString().trim()).child("submitted");
                        ref1=FirebaseDatabase.getInstance().getReference().child("order").child("admin");
                        ref.addListenerForSingleValueEvent(new ValueEventListener() {
                            @Override
                            public void onDataChange(@NotNull DataSnapshot dataSnapshot) {
                                for (DataSnapshot orderSnapshot: dataSnapshot.getChildren()) {
                                    Order category = orderSnapshot.getValue(Order.class);
                                    //if (category!=null){
                                    ref1.child(category.getId()).setValue(category);
                                    Toast.makeText(Client_order.this,"product successfully submitted", Toast.LENGTH_LONG).show();
                                    ref2.child(category.getId()).setValue(category);
                                    ref.child(category.getId()).removeValue();


                                    // }
                                }


                            }

                            @Override
                            public void onCancelled(@NotNull DatabaseError databaseError) {

                            }
                        });
                    }
                });

            }



        }

        @NotNull
        @Override
        public Orderviewholder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.product_list_itemorder, parent, false);
            return new Orderviewholder(view);
        }
    };
    orderrv.setAdapter(orderAdapter);
android firebase-realtime-database android-recyclerview android-cardview
1个回答
0
投票
您的模型不等于null,但名称为null!

使您的状况像这样

if(model.getName()!=null)

© www.soinside.com 2019 - 2024. All rights reserved.