how to get value from child key and according to key in other child

Viewed 44

I want to provide history of users recently viewed items from database can anyone help me out how to do this?

I want to check if history child has key and show the key data from car child I hope you understand any help will be appreciated.

Below is the link of what database look like.

This is what is have tried :

 private void recent(String data) {

    Query query = Dataref.orderByChild("CarName").startAt(data).endAt(data + "\uf8ff");
    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Car");
    String userId = databaseReference.push().getKey();

    Query databaseReference2 = FirebaseDatabase.getInstance().getReference("users").child("history").equalTo(databaseReference.getKey());
    DatabaseReference databaseReference1 = FirebaseDatabase.getInstance().getReference("Car");

    if (databaseReference2 != null) {


        options = new FirebaseRecyclerOptions.Builder<Car>().setQuery(query, Car.class).build();
        adapter2 = new FirebaseRecyclerAdapter<Car, recentViewHolder>(options) {
            @NonNull
            @Override
            public recentViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

                View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.history_view, parent, false);
                return new recentViewHolder(v);


            }

            @Override
            protected void onBindViewHolder(@NonNull recentViewHolder holder, final int position, @NonNull Car model) {
                holder.textView.setText(model.getCarName());
                Picasso.get().load(model.getImageUrl()).into(holder.imageView);
                holder.v.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(HomeActivity.this, ViewActivity.class);
                        intent.putExtra("CarKey", getRef(position).getKey());

                        startActivity(intent);


                    }
                });


                adapter.startListening();
                recent.setAdapter(adapter);


            }


        };


    }
}

Database

1 Answers

i have found an answer an post similar to what i have asked we can get the key from other child by orderbykey.equalto()

Related