Vipul K. Patil
Vipul K. Patil

Reputation: 128

How to get the key from the reference of child in firebase

Given below is my Firebase Schema:

Book {
    Book-1: {title, author}
    Book-2: {title, author}
    Book-3: {title, author}
    Book-4: {title, author}
}

I have listed them in RecyclerView and populating through FirebaseRecyclerAdapter. The code for the same is given below:

final DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Book");

    firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Book, BookListHolder>(
            Book.class,
            R.layout.simple_book_vertical_list,
            BookListHolder.class,
            ref) {
        @Override
        protected void populateViewHolder(BookListHolder viewHolder, Book model, int position) {
            viewHolder.setBookTitle(model.getTitle());
            viewHolder.setBookAuthor(model.getAuthor());
        }
    };

Now, after clicking the view, I want to show the data from the view that is clicked, i.e. their title and author.

What do I have to do?

Upvotes: 0

Views: 429

Answers (1)

Uriel Frankel
Uriel Frankel

Reputation: 14612

Set on click listener:

        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            ViewHolder viewHolder = super.onCreateViewHolder(parent, viewType);
            viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String key = firebaseRecyclerAdapter.getRef(mRecycler.getChildLayoutPosition(v)).getKey();
                    // do your magic here
                }
            });

            return viewHolder;
        }

Upvotes: 1

Related Questions