近期,Google宣布Kotlin成為了Android一級開發語言。于是就剛剛簡單的研究了一下,查資料的時候發現現成的資料還是很少的,于是決定自己記錄一下,方便以后查看,也供其他人一個參考。
在android中,點擊事件大致分為三種寫法:
1. 匿名內部類。
2. Activity實現全局OnClickListener接口。
3. 指定xml的onClick屬性。
今天用Kotlin實現這三種方式實現點擊事件
匿名內部類:這種方式最簡單
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。
全局實現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的區別是沒有implements關鍵字表示實現接口。
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="點擊" />
以上就是這三種點擊事件的寫法。如果有語法不懂,關鍵字不知道什么意思可以去查一下官方文檔。希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答