如何使用FirebaseUI在recyclerview中显示数据?

时间:2017-10-27 11:39:00

标签: java android firebase-realtime-database android-recyclerview firebaseui

我是firebase的新手,我爱上了这个实时数据库的东西。 但是,我不确定如何在循环视图中显示嵌套数据。 以下是我的数据库结构: - enter image description here

我想在0,1,2显示数据......数据包含有关不同书籍的信息。 这是我到目前为止所尝试的: -

    private void getSelectedBooks() {
        FirebaseRecyclerAdapter<BooksInfo, BooksViewHolder> adapter = new FirebaseRecyclerAdapter<BooksInfo, BooksViewHolder>(
                BooksInfo.class,
                R.layout.book_list,
                BooksViewHolder.class,
                nextOrder.child(String.valueOf(index))
        ) {
            @Override
            protected void populateViewHolder(BooksViewHolder viewHolder, final BooksInfo model, final int position) {

                Log.d("BOOKDETAILS",model.getTitle());
//                viewHolder.setTitle(model.getTitle());
//                viewHolder.setISBN(model.getISBN());
//                viewHolder.setDiscount(model.get());
//                viewHolder.setQty(model.getQuantity());
//                viewHolder.setPrice(model.getPrice());
//                viewHolder.setGrossValue(model.get);
//                viewHolder.setNetValue(model.get);


                viewHolder.mView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {

                        DatabaseReference ref = getRef(position);
                        String key = ref.getKey();
                        Toast.makeText(AddOrderActivity.this, key, Toast.LENGTH_SHORT).show();

//                        getRetailerInfo(key);


                    }
                });
            }
        };

        selectedBookRecyclerView.setAdapter(adapter);
        mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.child(String.valueOf(index)).exists()) {
                    // run some code
//                    DisableProgress();
                } else {
//                    DisableProgress();
//                    Toast.makeText(RetailerActivity.this, "No retailers to display", Toast.LENGTH_SHORT).show();

                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }

此处DatabaseReference nextOrder = mDatabase.child(userId).child("order_details").child(String.valueOf(index));
感谢任何帮助或建议。
谢谢。

0 个答案:

没有答案