OnClickListener for CardView?

android, android-5.0-lollipop, android-cardview, onclicklistener

Solution

You should implement the `OnItemClickListener` in your `ViewHolder` class, and pass the current item to the `ViewHolder` instances on every `onBindViewHolder()`.

From this post:

public static class ViewHolder extends RecyclerView.ViewHolder {
    public View view;
    public Item currentItem;

    public ViewHolder(View v) {
        super(v);
        view = v;
        view.setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View v) {
                // item clicked
            }
        });
    }
}

@Override public void onBindViewHolder(ViewHolder viewHolder, int i) {
    viewHolder.currentItem = items.get(i);
}

Problem

How do I attach an `OnClickListener` to a `CardView`? I want every single card to have a different action when clicked. I have a `RecyclerView` that has a custom adapter for displaying the cards. This is how it's implemented.

Original source