Java 空的Recyclerview firebase

Java 空的Recyclerview firebase,java,android,firebase,firebase-realtime-database,firebaseui,Java,Android,Firebase,Firebase Realtime Database,Firebaseui,我的回收视图有问题。总之,我将一个RecyclerView连接到我的数据库。然后,当我开始活动时,列表为空 public static class Chartviewholder extends RecyclerView.ViewHolder{ View mView; public Chartviewholder(View itemView){ super(itemView); mView = itemView; } public

我的
回收视图有问题。总之,我将一个RecyclerView连接到我的数据库。然后,当我开始活动时,列表为空

public static class Chartviewholder extends RecyclerView.ViewHolder{
    View mView;
    public Chartviewholder(View itemView){
        super(itemView);
        mView = itemView;
    }
    public void setTitleProduct(String title){
        TextView post_title = (TextView)mView.findViewById(R.id.tvProductName);
        post_title.setText(title);
    }
    public void setImgProduct(String desc){
        ImageView post_desc = (ImageView) mView.findViewById(R.id.productIV);
        Picasso.get().load(desc).into(post_desc);
    }
    public void setPriceProduct( String price){
        TextView post_image = (TextView) mView.findViewById(R.id.tvProductPrice);
        post_image.setText(price);
    }
    public void setDescProduct(String desc){
        TextView post_desc=(TextView) mView.findViewById(R.id.tvProductDesc);
        post_desc.setText(desc);
    }



}
这是我在main类中的代码,正好在methode OnCreate中

dbchart = FirebaseDatabase.getInstance().getReference().child("product");
    dbchart.keepSynced(true);

    chartrv = (RecyclerView) findViewById(R.id.chartrv);

    DatabaseReference personsRef2 = FirebaseDatabase.getInstance().getReference().child("product");
    Query personsQuery2 = personsRef2.orderByKey();

    chartrv.hasFixedSize();
    chartrv.setLayoutManager(new LinearLayoutManager(this));

    FirebaseRecyclerOptions personsOptions2 = new FirebaseRecyclerOptions.Builder<Product>().setQuery(personsQuery2, Product.class).build();

    chartAdapter=new FirebaseRecyclerAdapter<Product, Chartviewholder>(personsOptions2) {
        @Override
        protected void onBindViewHolder(@NonNull final Chartviewholder holder, int position, @NonNull final Product model) {
            holder.setTitleProduct(model.product_name.toString());
            holder.setImgProduct(model.product_image.toString());
            holder.setDescProduct(model.Product_desc.toString());
            holder.setPriceProduct(Integer.toString(model.product_price)+" DH");
            Button cart=findViewById(R.id.button15);
            cart.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    addorder(model);
                }
            });

        }


        @NonNull
        @Override
        public Chartviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.products_list_item2, parent, false);
            return new Chartviewholder(view);
        }
    };
    chartrv.setAdapter(chartAdapter);
dbchart=FirebaseDatabase.getInstance().getReference().child(“产品”);
dbchart.keepSynced(true);
chartrv=(RecyclerView)findViewById(R.id.chartrv);
DatabaseReference PersonRef2=FirebaseDatabase.getInstance().getReference().child(“产品”);
Query personsQuery2=personsRef2.orderByKey();
chartrv.hasFixedSize();
chartrv.setLayoutManager(新的LinearLayoutManager(本));
FirebaseRecyclerOptions PersonOptions 2=新建FirebaseRecyclerOptions.Builder().setQuery(PersonQuery2,Product.class).build();
chartAdapter=新的FirebaseRecyclerAdapter(个人选项2){
@凌驾
受保护的无效onBindViewHolder(@NonNull final Chartviewholder,int position,@NonNull final Product model){
holder.setTitleProduct(model.product_name.toString());
holder.setImgProduct(model.product_image.toString());
holder.setDescProduct(model.Product_desc.toString());
holder.setPriceProduct(Integer.toString(model.product_price)+“DH”);
按钮车=findViewById(R.id.button15);
cart.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
添加顺序(模型);
}
});
}
@非空
@凌驾
public Chartviewholder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
View=LayoutInflater.from(parent.getContext())
.充气(R.layout.products\u list\u item2,父项,假);
返回新的Chartviewholder(视图);
}
};
chartrv.setAdapter(chartAdapter);

您需要使用
startListening()
开始侦听数据。从文档中:

FirebaseRecyclerAdapter
使用事件侦听器监视对Firebase查询的更改。要开始侦听数据,请调用
startListening()
方法。您可能希望在
onStart()
方法中调用此函数。在调用startListening()之前,请确保已完成读取数据所需的任何身份验证,否则查询将失败

更多信息请点击此处:


感谢您让recyclerview正常工作
@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}