从CardView上的FireBase数据库检索节点ID,请单击 [英] Retrieve Node ID from FireBase Database on CardView Click
问题描述
我有一个用于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屋!