Как получить данные из таблицы Firebase, используя другую таблицу - PullRequest
0 голосов
/ 24 апреля 2020

Итак, я пытаюсь, чтобы мои заказы были перечислены сначала как пользователи, а затем, когда их щелкнули, доставили туда, где все элементы можно увидеть. Я установил идентификатор заказа в качестве пользовательского uid, и теперь я пытаюсь получить uid и из этих пользовательских данных выборки. Mykey, который я определил как publi c при запуске, но я думаю, что использую его внутри l oop и, следовательно, не могу получить к нему доступ снаружи. Пожалуйста, помогите

enter image description here

Код, который я пытаюсь

firebaseDatabase = FirebaseDatabase.getInstance().getReference().child("Order");
    firebaseDatabase.keepSynced(true);


    firebaseDatabase2 = FirebaseDatabase.getInstance().getReference().child("Users");
    firebaseDatabase.keepSynced(true);



    firebaseDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {

                mykey = snapshot.getKey();


            }



        }

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

        }
    });


@Override
protected void onStart() {
    super.onStart();





    FirebaseRecyclerOptions<Users> options = new FirebaseRecyclerOptions.Builder<Users>().setQuery(firebaseDatabase2.child(mykey), Users.class).build();


    FirebaseRecyclerAdapter<Users, Orders.UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, Orders.UsersViewHolder>(options)
    {

        @Override
        public Orders.UsersViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {


            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.user_layout,parent,false);

            return new Orders.UsersViewHolder(view);

        }

        @Override
        protected void onBindViewHolder(Orders.UsersViewHolder holder, int position, Users model) {

            holder.setName(model.getName());
            holder.setStatus(model.getMobile());






        }

    };

    mylist.setAdapter(firebaseRecyclerAdapter);
    firebaseRecyclerAdapter.startListening();


}

public class UsersViewHolder extends RecyclerView.ViewHolder {

    View mview;


    public UsersViewHolder(@NonNull View itemView) {
        super(itemView);

        mview = itemView;
    }


    public void setName(String name) {

        TextView userNameView = mview.findViewById(R.id.username);
        userNameView.setText(name);

    }


    public void setStatus(String status) {

        TextView userStatusView = mview.findViewById(R.id.phone);
        userStatusView.setText(status);

    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...