I'm able to fetch data from firebase and put into an arraylist. I wanted to know how to display this arraylist using recyclerview.
public class HomeFragment extends Fragment {
    public List<Product> list = new ArrayList<Product>();
    public HomeFragment() {
        // Required empty public constructor
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_home, container, false);
        //firebase db
        FirebaseDatabase mFirebaseInstance = FirebaseDatabase.getInstance();
        DatabaseReference mFirebaseDatabase = mFirebaseInstance.getReference();
        DatabaseReference refproducts = mFirebaseDatabase.child("products");
        //listening for value changes
        refproducts.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                for (DataSnapshot productSnapshot: snapshot.getChildren()) {
                    long value = snapshot.getChildrenCount();
                    Product product = productSnapshot.getValue(Product.class);
                    list.add(product);
                    Log.d("product",list.get(0).getProductName() +" "+ value);
                }
            }
            @Override
            public void onCancelled(DatabaseError error) {
                Log.e("Product", "The read failed. ");
            }
        });
        return view;
    }
}
Product.java
I'm able Log product nathe me of specified index but when I tried to populate it in a listview, the products aren't displaying.
public Product(String name, double available_quantity, double price, String 
id, String downloadUrl) {
    this.name = name;
    this.available_quantity = available_quantity;
    this.price=price;
    this.id=id;
    this.uri=downloadUrl;
}
Recyclerview Adapter I want to know whether I've made any mistakes in code.
public class RecyclerAdapter extends 
RecyclerView.Adapter<RecyclerAdapter.ProductViewHolder> {
private List<Product> list = new ArrayList<>();
public RecyclerAdapter(List<Product> list) {
    this.list = list;
}
public class ProductViewHolder extends RecyclerView.ViewHolder {
    View mView;
    TextView textView_name;
    TextView textView_quantity;
    TextView textView_price;
    ImageView imageView;
    Button Order;
    public ProductViewHolder(View itemView) {
        super(itemView);
        mView = itemView;
        textView_name = (TextView) itemView.findViewById(R.id.productname);
        textView_price = (TextView) itemView.findViewById(R.id.productprice);
        textView_quantity = (TextView) itemView.findViewById(R.id.productQuantity);
        imageView = (ImageView) itemView.findViewById(R.id.productimage);
        Order = (Button) itemView.findViewById(R.id.orderbutton);
    }
    public void setName(String title) {
        textView_name.setText(title);
    }
    public void setQunatity(Double quantity) {
        textView_quantity.setText("Available Quantity: " + Double.toString(quantity));
    }
    public void setPrice(Double price) {
        textView_price.setText("Price: " + Double.toString(price));
    }
    public void setImage(String image) {
    /*Picasso.with(mView.getContext())
            .load(image)
            .into(imageView);*/
        Uri uri = Uri.parse(image);
        imageView.setImageURI(uri);
    }
}
    @Override
    public ProductViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.product_list_item, parent, false);
        return new ProductViewHolder(itemView);
    }
    @Override
    public void onBindViewHolder(ProductViewHolder holder, int position) {
        Product product = list.get(position);
        holder.setName(product.getProductName());
        holder.setQunatity(product.getQuantity());
        holder.setPrice(product.getPrice());
        holder.setImage(product.getUri());
    }
    @Override
    public int getItemCount() {
        return list.size();
    }
}
 
     
    