CardView 的 OnClickListener? [英] OnClickListener for CardView?

查看:23
本文介绍了CardView 的 OnClickListener?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将 OnClickListener 附加到 CardView?我希望每张卡片在点击时都有不同的动作.

How do I attach an OnClickListener to a CardView? I want every single card to have a different action when clicked.

我有一个 RecyclerView,它有一个用于显示卡片的自定义适配器.这是实现的方式.

I have a RecyclerView that has a custom adapter for displaying the cards. This is how it's implemented.

推荐答案

你应该在你的 ViewHolder 类中实现 OnItemClickListener,并将当前项目传递给 ViewHolder 每个 onBindViewHolder() 上的实例.

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

来自这篇文章:

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);
}

这篇关于CardView 的 OnClickListener?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆