Kotlin中androidx..RecyclerView的BaseQuickAdapter给子item添加点击事件

相关依赖

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
    implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.1'
}

官网链接

使用androidx扩展包下的recycleview


                   <androidx.recyclerview.widget.RecyclerView
                        android:id="@+id/recycler_view"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                    </androidx.recyclerview.widget.RecyclerView>

BaseQuickAdapter

class MYAdapter(
    layoutId:Int,
    data:MutableList<Bean>? = null
): BaseQuickAdapter<Bean, BaseViewHolder>(layoutId,data){
    override fun convert(helper: BaseViewHolder, item: Bean?) {
        item?.let {
            helper.setText(R.id.tv_start_time,item?.startTime)
                  .setText(R.id.tv_week_day,item?.weekDay)
        }
    }

}

adapter初始化

    private val myAdapter by lazy {
    
        var bean1 = StartTimeBean("07:45","星期一",false)
        var bean2 = StartTimeBean("09:45","星期二",false)
        var bean3 = StartTimeBean("08:45","星期三",true)
      
        carList.add(bean1)
        carList.add(bean2)
        carList.add(bean3)
   
        StartTimeAdapter(R.layout.item)
    }

给子item添加点击事件

 var carList = mutableListOf<Bean>()
 mBinding.recyclerView.layoutManager = LinearLayoutManager(this)
        mBinding.recyclerView.adapter = myAdapter
        myAdapter?.setNewData(carList)
        myAdapter.addChildClickViewIds(R.id.switch_start)
        myAdapter.setOnItemChildClickListener {
                adapter, view, position ->
                    if (view.id == R.id.switch_start){
                        var switch_start:Switch = view as Switch
                        if (switch_start.isChecked){
                            ToastUtils.s(application,"选中$position")
                        }else{
                            ToastUtils.s(application,"取消$position")
                        }

                    }
        }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值