从 CardView 上的 FireBase 数据库中检索节点 ID 单击

Retrieve Node ID from FireBase Database on CardView Click

我有一个 firebase 数据库,我正在使用 Android。

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

现在我正在将所有列表从我需要的 table 获取到 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);

首先,添加对节点 Projects 的引用,然后在其中循环并使用 getKey() 检索 ID。