用Kotlin實(shí)現(xiàn)Android點(diǎn)擊事件的方法
近期,Google宣布Kotlin成為了Android一級(jí)開(kāi)發(fā)語(yǔ)言。于是就剛剛簡(jiǎn)單的研究了一下,查資料的時(shí)候發(fā)現(xiàn)現(xiàn)成的資料還是很少的,于是決定自己記錄一下,方便以后查看,也供其他人一個(gè)參考。
在android中,點(diǎn)擊事件大致分為三種寫(xiě)法:
1. 匿名內(nèi)部類。
2. Activity實(shí)現(xiàn)全局OnClickListener接口。
3. 指定xml的onClick屬性。
今天用Kotlin實(shí)現(xiàn)這三種方式實(shí)現(xiàn)點(diǎn)擊事件
匿名內(nèi)部類:這種方式最簡(jiǎn)單
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ū)別是沒(méi)有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)擊事件的寫(xiě)法。如果有語(yǔ)法不懂,關(guān)鍵字不知道什么意思可以去查一下官方文檔。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 中通過(guò)ViewDragHelper實(shí)現(xiàn)ListView的Item的側(cè)拉劃出效果
這篇文章主要介紹了 Android 中通過(guò)ViewDragHelper實(shí)現(xiàn)ListView的Item的側(cè)拉劃出效果,需要的朋友可以參考下2017-08-08
Android Studio多工程引用同一個(gè)library項(xiàng)目配置的解決方法
大家在使用android studio的時(shí)候,會(huì)遇到多個(gè)項(xiàng)目引用相同的library這篇文章主要介紹了Android Studio多工程引用同一個(gè)library項(xiàng)目配置方法,需要的朋友可以參考下2018-03-03
淺析Android手機(jī)衛(wèi)士之手機(jī)實(shí)現(xiàn)短信指令獲取位置
這篇文章主要介紹了淺析Android手機(jī)衛(wèi)士之手機(jī)實(shí)現(xiàn)短信指令獲取位置的相關(guān)資料,需要的朋友可以參考下2016-04-04
Android日期時(shí)間格式國(guó)際化的實(shí)現(xiàn)代碼
本篇文章是對(duì)在Android中 日期時(shí)間格式國(guó)際化的實(shí)現(xiàn)代碼進(jìn)行了分析介紹。需要的朋友參考下2013-05-05
Android Activity進(jìn)出動(dòng)畫(huà)三種方法
這篇文章主要介紹了Android Activity進(jìn)出動(dòng)畫(huà)三種方法的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android監(jiān)聽(tīng)滑動(dòng)控件實(shí)現(xiàn)狀態(tài)欄顏色切換
這篇文章給大家分享一個(gè)平時(shí)在滑動(dòng)頁(yè)面經(jīng)常遇到的效果:滑動(dòng)過(guò)程動(dòng)態(tài)修改狀態(tài)欄顏色,文中有詳細(xì)的示例代碼,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴自己動(dòng)手試試吧2023-08-08

