繁体   English   中英

从Firebase检索一些数据并将其放在RecyclerView上

[英]Retrieve some data from Firebase and put it on a RecyclerView

Sofer等于用户显示名称的RecyclerView ,如何从Firebase中检索Rute数据?

这是我的Firebase的一部分。 我尝试这样做,但是出现了所有数据。

public void onStart() {
    super.onStart();

    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    DatabaseReference ruteRef = rootRef.child("Rute");
    assert user != null;
    Query query = ruteRef.orderByChild("Sofer").equalTo(user.getDisplayName());
    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Model, ViewHolder>(Model.class, R.layout.card_layout, ViewHolder.class, mRef) {
                @Override
                protected void populateViewHolder(ViewHolder viewHolder, Model model, final int position) {

                    viewHolder.setDetails(getContext(), model.getTaraPlecare(), model.getTaraDestinatie(), model.getSofer(),
                            model.getCapTractor(), model.getRemorca(), model.getNumeleIncarcaturii(), model.getDataPlecare(),
                            model.getOrasPlecare(), model.getOrasDestinatie());
                    viewHolder.itemView.setOnClickListener(new View.OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            // Intent intent = new Intent(Fridge.this, Show.class);
                            //  startActivity(intent);
                        }
                    });
                }
            };

            RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(), 1);
            mRecyclerView.setLayoutManager(mLayoutManager);
            mRecyclerView.setAdapter(firebaseRecyclerAdapter);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Toast.makeText(getContext(), "Eroare", Toast.LENGTH_LONG).show();
        }
    });

}

在Sofer等于用户显示名称的recyclerview中,如何从Firebase中检索Rute数据?

只需通过uisng以下查询:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ruteRef = rootRef.child("Rute");
Query query = ruteRef.orderByChild("Sofer").equalTo("userDisplayName");
query.addListenerForSingleValueEvent(/* ... */);

是在其中您可以从火力地堡实时数据库中检索数据,并在显示它推荐的方式RecyclerView使用FirebaseRecyclerAdapter

我建议您将现有结构替换为:

Rute:
    [
        { "Username1": 
           //All your data related to Username
        },
        { "Username2": 
           //All your data related to Username
        },
        { "Username3": 
           //All your data related to Username
        }
    ]

以上结构将帮助您实现所需的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM