Java 如何从子项中获取值并根据其他子项中的键获取值

Java 如何从子项中获取值并根据其他子项中的键获取值,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我想提供用户最近从数据库中查看的项目的历史记录。有人能帮我解决这个问题吗 我想检查历史儿童是否有钥匙,并显示从汽车儿童的关键数据,我希望你理解任何帮助将不胜感激 下面是数据库外观的链接 这就是我们尝试过的: private void recent(String data) { Query query = Dataref.orderByChild("CarName").startAt(data).endAt(data + "\uf8ff"); DatabaseReference

我想提供用户最近从数据库中查看的项目的历史记录。有人能帮我解决这个问题吗

我想检查历史儿童是否有钥匙,并显示从汽车儿童的关键数据,我希望你理解任何帮助将不胜感激

下面是数据库外观的链接

这就是我们尝试过的:

 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);


            }


        };


    }
}
private void-recent(字符串数据){
Query Query=Dataref.orderByChild(“CarName”).startAt(data).endAt(data+“\uf8ff”);
DatabaseReference DatabaseReference=FirebaseDatabase.getInstance().getReference(“Car”);
字符串userId=databaseReference.push().getKey();
Query databaseReference2=FirebaseDatabase.getInstance().getReference(“用户”).child(“历史”).equalTo(databaseReference.getKey());
DatabaseReference databaseReference1=FirebaseDatabase.getInstance().getReference(“Car”);
if(databaseReference2!=null){
options=new FirebaseRecyclerOptions.Builder().setQuery(query,Car.class.build();
adapter2=新的FirebaseRecyclerAdapter(选件){
@非空
@凌驾
public recentViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
视图v=LayoutInflater.from(parent.getContext()).flate(R.layout.history_视图,parent,false);
返回新的recentViewHolder(v);
}
@凌驾
受保护的无效onBindViewHolder(@NonNull recentViewHolder holder,最终int位置,@NonNull车型){
holder.textView.setText(model.getCarName());
Picasso.get().load(model.getImageUrl()).into(holder.imageView);
holder.v.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(HomeActivity.this、ViewActivity.class);
intent.putExtra(“CarKey”,getRef(position.getKey());
星触觉(意向);
}
});
adapter.startListening();
最近的.setAdapter(适配器);
}
};
}
}

我找到了一个答案,一篇类似于我所问的帖子,我们可以通过orderbykey.equalto()从其他孩子那里获得钥匙