繁体   English   中英

如何将子点击监听器添加到任何子项目 manneohlund smart-recycler-adapter

[英]How to add child click listener to any child item manneohlund smart-recycler-adapter

我正在将此库用于通用适配器-> Smart-Recycler-Adapter

这是我的代码

 SmartRecyclerAdapter
        .items(listItems)
        .map(Header::class, HeaderViewHolder::class)
        .map(KeyVal::class, KeyValViewHolder::class)
        .map(KeyLink::class, KeyLinkViewHolder::class)
        .map(Picture::class, PictureViewHolder::class)
        .add(StickyHeaderItemDecorationExtension(
            headerItemType = Header::class
        ))
            .add(OnCustomViewEventListener { event ->
                showToast(event)
            })
        .into<SmartRecyclerAdapter>(binding.recyclerview)

我可以将点击监听器添加到整个 recyclerview 项目。 但我想在我的一个视图持有者的子视图上添加点击监听器。 我在我自己的自定义适配器上做过很多次,但我不知道如何使用这个库来添加这个功能。 谢谢

您可以在相应的 Viewholders 中向 itemView(列表中特定项目的视图)添加侦听器。

例如,在您的 PictureViewHolder class 中,您必须有一个视图实例,它代表列表中单个项目的视图。 您可以只设置此视图的单击侦听器,然后在单击时执行您希望执行的任何操作。

例如,如果您的 Viewholder class 看起来像这样

inner class PictureViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {

 fun bind(item: PictureClass) {
     itemView.setOnClickListener {
         // Do something
     }
   }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM