用Kotlin實(shí)現(xiàn)Android點(diǎn)擊事件的方法
近期,Google宣布Kotlin成為了Android一級(jí)開發(fā)語言。于是就剛剛簡單的研究了一下,查資料的時(shí)候發(fā)現(xiàn)現(xiàn)成的資料還是很少的,于是決定自己記錄一下,方便以后查看,也供其他人一個(gè)參考。
在android中,點(diǎn)擊事件大致分為三種寫法:
1. 匿名內(nèi)部類。
2. Activity實(shí)現(xiàn)全局OnClickListener接口。
3. 指定xml的onClick屬性。
今天用Kotlin實(shí)現(xiàn)這三種方式實(shí)現(xiàn)點(diǎn)擊事件
匿名內(nèi)部類:這種方式最簡單
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
bt_click.setOnClickListener {
Toast.makeText(this,"點(diǎn)擊了",Toast.LENGTH_SHORT).show();
}
}
這里不需要new OnClicklistener。
全局實(shí)現(xiàn)OnClickListener接口:
class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onClick(v: View?) {
when (v?.id) {
R.id.bt_click ->
Toast.makeText(this, "點(diǎn)擊了", Toast.LENGTH_SHORT).show()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
bt_click.setOnClickListener(this)
}
}
這種方法與java的區(qū)別是沒有implements關(guān)鍵字表示實(shí)現(xiàn)接口。
when就相當(dāng)于java中的switch。
“:”符號(hào)改為了“->”。
指定onClick屬性:
fun click(v: View?) {
when (v?.id) {
R.id.bt_click ->
Toast.makeText(this, "點(diǎn)擊了", Toast.LENGTH_SHORT).show()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
<Button android:id="@+id/bt_click" android:layout_width="match_parent" android:layout_height="50dp" android:onClick="click" android:text="點(diǎn)擊" />
以上就是這三種點(diǎn)擊事件的寫法。如果有語法不懂,關(guān)鍵字不知道什么意思可以去查一下官方文檔。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android編程實(shí)現(xiàn)圖標(biāo)拖動(dòng)效果的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)圖標(biāo)拖動(dòng)效果的方法,涉及Android事件響應(yīng)及圖標(biāo)變換的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
Android自定義控件之組合控件學(xué)習(xí)筆記分享
這篇文章主要為大家分享了Android自定義控件之組合控件學(xué)習(xí)筆記,具有一定的實(shí)用性和參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
Android編程使用Intent傳遞對(duì)象的方法分析
這篇文章主要介紹了Android編程使用Intent傳遞對(duì)象的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android使用Intent實(shí)現(xiàn)傳遞對(duì)象的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-01-01
Android實(shí)現(xiàn)手電筒電源鍵關(guān)閉功能
這篇文章主要介紹了Android實(shí)現(xiàn)手電筒電源鍵關(guān)閉功能,在打開手電筒之后,機(jī)器休眠,客戶要求點(diǎn)擊電源鍵,手電筒需要關(guān)閉,下面小編給大家分享實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-11-11
Android 組件Gallery和GridView示例講解
本文主要講解Android 組件Gallery和GridView,這里詳細(xì)介紹組件Gallery和GridView的知識(shí)要點(diǎn),并附示例代碼和實(shí)現(xiàn)效果圖,有興趣的小伙伴可以參考下2016-08-08
php 異步調(diào)用方法實(shí)現(xiàn)示例
客戶端與服務(wù)器端是通過HTTP協(xié)議進(jìn)行連接通訊,客戶端發(fā)起請(qǐng)求,服務(wù)器端接收到請(qǐng)求后執(zhí)行處理,并返回處理結(jié)果2014-01-01
android自定義等級(jí)評(píng)分圓形進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了android自定義等級(jí)評(píng)分圓形進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
Android Naive與WebView的互相調(diào)用詳解
這篇文章主要介紹了Android Naive與WebView的互相調(diào)用詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android關(guān)于Button背景或樣式失效問題解決方法
大家好,本篇文章主要講的是Android關(guān)于Button背景或樣式失效問題解決方法,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01

