使用getKey()

时间:2020-10-17 01:11:42

标签: android firebase firebase-realtime-database

我想获取我单击的项的键,但是代码中发生的事情是,当我单击一个项时,它会显示所有键,而不是仅显示我单击的键

这是我的Firebase结构

Firebase Structure

这是我的代码

public ViewHolderClass(@NonNull final View itemView) {
    super(itemView);
    subjectName=itemView.findViewById(R.id.subjectName);
    day=itemView.findViewById(R.id.day);
    time=itemView.findViewById(R.id.time);
    delete = itemView.findViewById(R.id.deleteIcon);
    subCounter = itemView.findViewById(R.id.subCounter);
    final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("rhein_subject");

    subjectName.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final int pos = getAdapterPosition();
            databaseReference.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren())
                    Toast.makeText(itemView.getContext(), "Pos: " + dataSnapshot1.getKey(), Toast.LENGTH_SHORT).show();
                }

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

                }
            });
        }
    });

我也不知道将经过pos的Google放在哪里已经3天了,但仍然没有解决我的问题。

0 个答案:

没有答案
相关问题