Получить идентификатор узла из базы данных FireBase при нажатии CardView - PullRequest
1 голос
/ 16 мая 2019

У меня есть база данных firebase, которую я использую с Android.

Для извлечения и отображения данных из Firebase я использую FirebaseRecyclerAdapter, и результаты отображаются в CardView.

Теперь я получаю все списки из необходимой таблицы в CardView. Каждый узел имеет автоматически сгенерированное значение, как показано на рисунке ниже.

enter image description here

Как получить это значение в Android, когда я нажимаю на соответствующий CardView. Мне понадобится это значение для дальнейших операций с базой данных.

Теперь я попробовал некоторые методы, опубликованные здесь, а также онлайн-форумы, но, похоже, ничего не работает. Я не прошу полный код, просто как это сделать? Какой-то ссылочный код был бы отличным.

Привет

1 Ответ

1 голос
/ 16 мая 2019

Чтобы получить идентификатор узла, попробуйте следующее:

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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...