用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關鍵字表示實現(xiàn)接口。
when就相當于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="點擊" />
以上就是這三種點擊事件的寫法。如果有語法不懂,關鍵字不知道什么意思可以去查一下官方文檔。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android 中通過ViewDragHelper實現(xiàn)ListView的Item的側拉劃出效果
這篇文章主要介紹了 Android 中通過ViewDragHelper實現(xiàn)ListView的Item的側拉劃出效果,需要的朋友可以參考下2017-08-08
Android Studio多工程引用同一個library項目配置的解決方法
大家在使用android studio的時候,會遇到多個項目引用相同的library這篇文章主要介紹了Android Studio多工程引用同一個library項目配置方法,需要的朋友可以參考下2018-03-03
淺析Android手機衛(wèi)士之手機實現(xiàn)短信指令獲取位置
這篇文章主要介紹了淺析Android手機衛(wèi)士之手機實現(xiàn)短信指令獲取位置的相關資料,需要的朋友可以參考下2016-04-04
Android監(jiān)聽滑動控件實現(xiàn)狀態(tài)欄顏色切換
這篇文章給大家分享一個平時在滑動頁面經(jīng)常遇到的效果:滑動過程動態(tài)修改狀態(tài)欄顏色,文中有詳細的示例代碼,對我們的學習或工作有一定的幫助,感興趣的小伙伴自己動手試試吧2023-08-08

