簡體   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