如何在Logcat中获取Firebase数据库的选定条目的密钥?

问题描述 投票:0回答:1

enter image description here

我正在获取所有键,单击时如何仅获取卡片视图各自位置的键?假设,如果我单击卡片位置2,则仅需要该位置键

这是我的代码:

 databaseReference = FirebaseDatabase.getInstance().getReference("News");
    final String z = databaseReference.child(String.valueOf(homeModelList.get(position))).getKey();

    Toast.makeText(context, z, Toast.LENGTH_SHORT).show();
    databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            Log.e("Position is ", String.valueOf(z));

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

我无法获取各个职位的钥匙。我在logcat中得到的输出为0,1,2,这是适配器的位置。

我如何获得那个钥匙。谢谢

android firebase-realtime-database recycler-adapter
1个回答
1
投票

您可以使用for循环遍历datasnapshot的子代以获取密钥。

databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

        for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
            Log.e("Position is ", String.valueOf(childSnapshot.getKey()));
        }

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});
© www.soinside.com 2019 - 2024. All rights reserved.