kotlin几种设置点击事件方式
布局文件
<TextView
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:text="测试点击事件"
android:textSize="18sp" />
方式一:匿名内部类
tv_test.setOnClickListener {
Toast.makeText(this, "点击了",Toast.LENGTH_SHORT).show()
}
方式二:实现View.OnClickListener接口的onClick方法
class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tv_test.setOnClickListener(this)
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.tv_test ->
Toast.makeText(this, "点击了", Toast.LENGTH_SHORT).show()
}
}
}
方式三:控件添加onClick属性,对应activity或者fragment中添加对应方法
添加onClick属性后的布局文件
<TextView
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:onClick="testClick"
android:text="测试点击事件"
android:textSize="18sp" />
添加后,“testClick”这里会出现红色下划线,因为对应activity或者fragment中没有对应的方法,可以alter+enter提示,选中红框中自动生成,也可手动添加
添加对应方法后的activity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun testClick(view: View) {
Toast.makeText(this, "点击了", Toast.LENGTH_SHORT).show()
}
}
仅此记录,如有问题还请提出,谢谢
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/6214.html