文章插圖

文章插圖
本文是介紹 RecyclerView 入門 系列文章 的第三篇 。如果您已經對創建 RecyclerView 有了一定的認識,請繼續閱讀本文 。如果尚未熟悉,建議您首先閱讀本系列中的 第一篇文章 。
當使用 RecyclerView 顯示列表數據的時候,您可能需要響應列表元素的點擊事件 。該響應處理包括: 打開包含更多數據的頁面、顯示 toast、刪除某個元素等等 。相關的響應事件雖然數不勝數,但是它們均需要通過 onClick() 來實現 。
定義點擊動作
在創建監聽器之前,在 Activity 類中添加一個函數用于處理點擊之后的響應操作 。
<!--Copyright2019GoogleLLC.SPDX-License-Identifier:Apache-2.0-->privatefunadapterOnClick(flower:Flower){valintent=Intent(this,FlowerDetailActivity()::class.java)intent.putExtra(FLOWER_ID,flower.id)this.startActivity(intent)}接下來,修改 Adapter 的構造函數來傳入 onClick() 函數 。<!--Copyright2019GoogleLLC.SPDX-License-Identifier:Apache-2.0-->classFlowersAdapter(privatevalonClick:(Flower)->Unit):ListAdapter<Flower,RecyclerView.ViewHolder>(FlowerDiffCallback())在 Activity 類中,在初始化 Adapter 的時候傳入剛剛創建的點擊事件函數 。<!--Copyright2019GoogleLLC.SPDX-License-Identifier:Apache-2.0-->valflowersAdapter=FlowersAdapter{flower->adapterOnClick(flower)}添加 onClickHandler()現在響應處理已經定義好了,可以將它關聯到 Adapter 的 ViewHolder 了 。
【recyclerview的每個item都可以添加監聽事件 recyclerview嵌套recyclerview點擊事件】修改 ViewHolder,將 onClick() 作為參數傳入 。
<!--Copyright2019GoogleLLC.SPDX-License-Identifier:Apache-2.0-->classFlowerViewHolder(itemView:View,valonClick:(Flower)->Unit):RecyclerView.ViewHolder(itemView)在初始化的代碼中,調用 itemView 的 setOnClickListener{} 。<!--Copyright2019GoogleLLC.SPDX-License-Identifier:Apache-2.0-->init{itemView.setOnClickListener{currentFlower?.let{onClick(it)}}}搞定!現在您的 RecyclerView 可以響應點擊事件了 。編程快樂!
下一步
請查閱包含 onClick() 的 完整示例 。
感謝您閱讀 RecyclerView 系列 文章的第三篇 。請繼續關注未來更多關于 RecyclerView 的內容 。
如果您想了解更多關于 onClick() 的內容,請參考 官方文檔 。
- 有沒有免費的U盤恢復軟件 u盤數據恢復軟件哪個好用免費
- xshell5的產品密鑰 xshell6產品激活密鑰
- 用什么軟件做會動的圖片 會動的照片制作軟件
- 一只綠色的歌是指什么 綠色陳雪凝歌詞含義
- itzy黃禮志家境怎么樣 itzy黃禮志怎么出道的
- 賈玲的媽媽真的車禍去世了嘛 你好李煥英講的故事
- 乾隆的親生母親是誰 民間傳生母李金桂什么身份
- 凌瀟肅為什么恨姚晨 唐一菲莫名背上“小三”的罵名
- 楊非同是不是參加過變形計 偶像練習生當中的黑馬
- 兔子坡第三章小喬治的歌 兔子坡小喬治的歌主要內容
