从CardView上的FireBase数据库检索节点ID,请单击 [英] Retrieve Node ID from FireBase Database on CardView Click

查看:100
本文介绍了从CardView上的FireBase数据库检索节点ID,请单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个用于Android的firebase数据库.

I have a firebase database I am using with Android.

要从Firebase检索并显示数据,我正在使用FirebaseRecyclerAdapter,并将结果显示到CardView.

To Retrieve and show data from Firebase, I am using FirebaseRecyclerAdapter and results are displayed to CardView.

现在,我将所有列表从所需的表移至CardView.每个节点都有一个自动生成的值,如下图所示.

Now I am getting all listings from my required table to CardView. Every Node has an automatically generated value as shown in the image below.

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

How do I retrieve this value in Android when I click on respective CardView. I'll need this value for further database operations.

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

Now, I tried some of the methods posted here as well as online forums but nothing seems to work. I am not asking for complete code, just how to do it? Some reference code would be great.

致谢

推荐答案

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

To get the node id try the following:

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.

First, add a reference to node Projects then loop inside of it and retrieve the id using getKey().

这篇关于从CardView上的FireBase数据库检索节点ID,请单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆