Java 在CardView上从FireBase数据库检索节点ID单击

Java 在CardView上从FireBase数据库检索节点ID单击,java,android,firebase,firebase-realtime-database,android-cardview,Java,Android,Firebase,Firebase Realtime Database,Android Cardview,我有一个firebase数据库,用于Android 为了从Firebase检索和显示数据,我使用FirebaseRecyclerAdapter,结果将显示到CardView 现在,我将从所需表中获取所有列表到CardView。每个节点都有一个自动生成的值,如下图所示 当我单击相应的CardView时,如何在Android中检索该值。我需要这个值来进行进一步的数据库操作 现在,我尝试了这里发布的一些方法以及在线论坛,但似乎没有任何效果。我不是要完整的代码,只是要怎么做?一些参考代码会很好 要获取

我有一个firebase数据库,用于Android

为了从Firebase检索和显示数据,我使用FirebaseRecyclerAdapter,结果将显示到CardView

现在,我将从所需表中获取所有列表到CardView。每个节点都有一个自动生成的值,如下图所示

当我单击相应的CardView时,如何在Android中检索该值。我需要这个值来进行进一步的数据库操作

现在,我尝试了这里发布的一些方法以及在线论坛,但似乎没有任何效果。我不是要完整的代码,只是要怎么做?一些参考代码会很好


要获取节点id,请尝试以下操作:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("Projects");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
             String key = ds.getKey();
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
query.addListenerForSingleValueEvent(valueEventListener);


首先,添加对node
Projects
的引用,然后在其内部循环,并使用
getKey()
检索id

我在这里找到了这篇文章,这篇文章看起来很有希望,但这个答案中的PostKey是什么?您是否已在cardview中显示这些详细信息?我正在自动生成ID下检索数据。确定。。你把所有节点数据都加载到CardView了吗?没有。只是图像中的第一条蓝色删除线。我想在上面使用ID。箭头所示的人。从Lez开始…….ZpYeah,谢谢。成功了。现在,我只需要修改一个用于排序结果的查询。我会的。