利用 kotlin 的方式自定義回調(diào)事件(kotlin函數(shù)參數(shù))
java 中自定義回調(diào)事件的寫(xiě)法
創(chuàng)建 interface類,創(chuàng)建 interface 對(duì)象,實(shí)現(xiàn) set 方法:
使用:
kotlin 中自定義點(diǎn)擊事件寫(xiě)法
依照 java 的思想(不推薦)
創(chuàng)建 interface類,創(chuàng)建 interface 可變對(duì)象(var)
使用:
利用 kotlin 函數(shù)作為參數(shù)(強(qiáng)烈推薦)
來(lái)看一下系統(tǒng)的點(diǎn)擊事件在 kotlin 中是什么樣的:
是不是簡(jiǎn)直簡(jiǎn)潔到不像話?再看看你自己定義的點(diǎn)擊事件回調(diào),感覺(jué)跟還在用 java 開(kāi)發(fā)一樣…
下面就來(lái)看個(gè)新的寫(xiě)法:
創(chuàng)建一個(gè)函數(shù)對(duì)象,在需要回調(diào)的地方調(diào)起這個(gè)函數(shù):
用法:
是不是比用對(duì)象表達(dá)式看起來(lái)還要簡(jiǎn)潔?
2018.12.12 更新:
上邊截圖里的 kotlin 點(diǎn)擊事件回調(diào),還有更簡(jiǎn)潔的定義方法:
之前的寫(xiě)法是聲明不可為 null 的函數(shù)變量,然后判斷是否初始化再去 invoke 函數(shù)。
現(xiàn)在聲明可為 null 的函數(shù)變量,在 invoke 函數(shù)的時(shí)候用 ?. 表示函數(shù)變量可空,如果沒(méi)有給這個(gè)點(diǎn)擊事件函數(shù)賦值的話,這行代碼也不會(huì)引起 crash?,F(xiàn)在連判斷條件都不需要了,更精簡(jiǎn)了。
這里再說(shuō)點(diǎn)個(gè)人經(jīng)驗(yàn),如果你的回調(diào)方法不止一個(gè)的話,推薦還是聲明 interface 來(lái)做,這樣的話都在一個(gè) interface 里邊好管理一些
以上這篇利用 kotlin 的方式自定義回調(diào)事件(kotlin函數(shù)參數(shù))就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android開(kāi)發(fā)文件存儲(chǔ)實(shí)例
這篇文章主要為大家詳細(xì)介紹了Android開(kāi)發(fā)文件存儲(chǔ)實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Android實(shí)現(xiàn)循環(huán)輪播跑馬燈的效果
這篇文章主要介紹了為大家詳細(xì)介紹了如何通過(guò)Android實(shí)現(xiàn)循環(huán)輪播跑馬燈的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05Android8.0適配前臺(tái)定位服務(wù)service的示例代碼
這篇文章主要介紹了Android8.0適配前臺(tái)定位服務(wù)service的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07替換so文件來(lái)動(dòng)態(tài)替換Flutter代碼實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了替換so文件來(lái)動(dòng)態(tài)替換Flutter代碼實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Kotlin Service服務(wù)組件開(kāi)發(fā)詳解
這幾天分析了一下的啟動(dòng)過(guò)程,于是乎,今天寫(xiě)一下Service使用; 給我的感覺(jué)是它并不復(fù)雜,千萬(wàn)不要被一坨一坨的代碼嚇住了,雖然彎彎繞繞不少,重載函數(shù)一個(gè)接著一個(gè),就向走迷宮一樣,但只要抓住主線閱讀,很快就能找到出口2022-12-12Android ListView的item背景色設(shè)置和item點(diǎn)擊無(wú)響應(yīng)的解決方法
在Android開(kāi)發(fā)中,listview控件是非常常用的控件,在大多數(shù)情況下,大家都會(huì)改掉listview的item默認(rèn)的外觀。2013-11-11模擬按Home鍵退出應(yīng)用的簡(jiǎn)單方法(分享)
下面小編就為大家?guī)?lái)一篇模擬按Home鍵退出應(yīng)用的簡(jiǎn)單方法(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04