【Android-Activity】RecyclerView中item的点击事件

recyclerView的使用方法总结:link.
recyclerView的下拉刷新:link.

在安卓开发中recyclerView不同于listView、GridView一样可以直接用setOnItemClickListener方法来为item创建点击事件:

listView、GridView自带的item点击事件:

GridView gv=new GridView(this);
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
   
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
   

    }
});

ListView ls=new ListView(this);
ls.setOnItemClickListener(new AdapterView.OnItemClickListener() {
   
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
   

    }
});

所以要对recyclerView中的条目创建点击事件必须自己来实现!(在adapter内部是可以创建item的点击事件的,但是一般我们都是在外部设置完adapter后再去点击跳转界面,所以需要一个对外暴露的方法)

实现思路: 在Adapter中创建item的点击事件(因为在adapter中可以获取到每个item的position),并暴露一个方法让外部能够调用

实现效果: 在这里插入图片描述

———————————————————————————————————————————
实现步骤:

1、在Adapter中新建一个接口,定义接口内部的方法,并将该接口在adapter中实现

编写回调接口的基本步骤:

  1. 创建该接口
  2. 定义该接口的内部方法
  3. 实现该接口
  4. 接口方法的调用

接口的实现可以参照ListView 中设置的setOnItemClickListener接口!
在这里插入图片描述
在接口中定义接口内部的方法:该方法是通过item的位置来设置每个item的点击事件
实现该接口:

public void setOnItemClickListener(OnItemClickListener listener) {
   
    this.mListener=listener;
}

public interface OnItemClickListener{
   
    void onItemClick(int position);
}
2、对itemView设置点击事件

写完接口后,最重要的是对item设置一个点击事件,itemview可以直接使用onitemclick方法!所以我们找到有itemview参数传递进来且还有position参数的一个方法:onBindViewHolder!我们就在onBindViewHolder中对item设置点击事件,此处就实现了自定义接口中的方法:

holder.itemView.setOnClickListener(new View.OnClickListener() {
   
    @Override
    public void onClick(View v) {
   
        mListener.onItemClick(position);
    }
});

在这里插入图片描述

3、外部使用该方法

最后需要对设置的adapter实现这个点击事件!

mMyAdapter.setOnItemClickListener(new MySecondAdapter.OnItemClickListener(</
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值