软件编程
位置:首页>> 软件编程>> Android编程>> 用Kotlin实现Android点击事件的方法

用Kotlin实现Android点击事件的方法

作者:欧西里  发布时间:2023-01-16 15:56:03 

标签:Android,点击事件

近期,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="点击" />

来源:http://www.jianshu.com/p/d057ac23eed0

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com