【安卓】借助ButterKnife,4行代码搞定RecyclerView中item的监听

本文介绍如何使用黄油刀简化Android开发中RecyclerView的监听设置。通过在ViewHolder中绑定黄油刀并直接设置监听,避免繁琐的重写监听方法过程,使代码更简洁高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在复习的时候突然有用黄油刀贯穿整个学习的过程,在recyclerView练习的时候,觉得重写监听方法太麻烦,既然黄油刀可以方便的找到子控件的ID,那为何还要重写监听方法呢:

DEMO:

 

点击cardview后面的红色X号,条目消失

整个监听过程在adapter中实现:

1:在Holder中绑定黄油刀,找到控件

 

static class SongViewHolder extends RecyclerView.ViewHolder{
    @BindView(R.id.card_title)
    TextView titleTv;
    @BindView(R.id.artistID)
    TextView artistTv;
    @BindView(R.id.delete)
    ImageView delete_View;
    public SongViewHolder(View itemView) {
        super(itemView);
        ButterKnife.bind(this,itemView);
    }
}

2:在适配器中的onBindViewHolder中进行监听,这个方法提供了holder和position两个参数,有了position,干嘛要写一大堆啰嗦的东西,围绕position开展监听不就OJBK了么?

如下:

 

@Override
public void onBindViewHolder(SongViewHolder holder, final int position) {
    holder.titleTv.setText((mobj.get(position)).getTitle());
    holder.artistTv.setText((mobj.get(position)).getArtist());
    holder.delete_View.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           mobj.remove((mobj.get(position)));
           notifyDataSetChanged();
       }
   });
}

mobj是数据源,也就是一个list集合,包装着数据对象,围绕position就可以进行随意操作。

总之就是四行代码:

绑定黄油刀,找到控件,监听控件,最后刷新。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鶸的日常ORz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值