java - 从 CardView Click 上的 FireBase 数据库检索节点 ID

标签 java android firebase firebase-realtime-database android-cardview

我有一个在 Android 上使用的 Firebase 数据库。

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

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

enter image description here

当我点击相应的 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。

关于java - 从 CardView Click 上的 FireBase 数据库检索节点 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56172005/

相关文章:

java - 如何在android中使用pocketsphinx进行多个关键字激活而无需进入菜单

android - 从网站推送通知到移动应用程序

mysql - Firebase INNER JOIN 和 GROUP BY 月份查询

javascript - 避免 Firebase 可调用函数的 CORS 预检

java - pojo 中存在未知的 XML 文件

java - "The method setListAdapter(ArrayAdapter) is undefined for the type create"

java - 带有.a​​ddCacheFile的Hadoop Mapreduce CompileError(使用外部Jar)

java - 使用 apache commons 邮件重新发送 MultiPartEmail

java - android location apis : FusedLocationApi. getLastLocation 给出 null

javascript - 从 firebase 检索值时收到未定义的消息