Retrieve Node ID from FireBase Database on CardView Click

微笑、不失礼 提交于 2019-12-11 13:08:24

问题


I have a firebase database I am using with Android.

To Retrieve and show data from Firebase, I am using FirebaseRecyclerAdapter and results are displayed to 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.

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.

Regards


回答1:


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);

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



来源:https://stackoverflow.com/questions/56172005/retrieve-node-id-from-firebase-database-on-cardview-click

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!