用Kotlin實現Android點選事件的方法

else發表於2021-09-09

在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)
 }

以上就是這三種點選事件的寫法。

原文連結:http://www.apkbus.com/blog-822721-75988.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2318/viewspace-2813391/,如需轉載,請註明出處,否則將追究法律責任。

相關文章