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