kotilin绑定控件和点击事件

绑定控件的两种方式

1.类似java

lateinit var button1 : Button

button1 = findViewById(R.id.button1)

lateinit关键字:延迟定义变量

2.直接使用id

app下的 build.gradle 中添加 

apply plugin: 'kotlin-android-extensions'

在activity中引入

import kotlinx.android.synthetic.main.activity_test_kt.*   

activity_test_kt.* 文件代表当前页面

点击事件的3种使用方式

1.匿名内部类

id.setOnClickListener{ }


2.实现全局OnClickListener接口

与java类似,不过不需要implement关键字,打个,就行。

?. 还有 !!. 是Kotlin提供的检测空指针的方法。

class MainActivity : BaseActivity() ,View.OnClickListener {//实现接口

override fun onCreate(savedInstanceState:Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

id.setOnClickListener(this)//设置点击事件

}

override fun onClick(v:View?) {//具体实现方法

when(v ?.id){

R.id.id -> //执行方法

}  }  }

记录一个智障问题,我用第二种方法实现View.OnClickListener接口失效,良久才发现是没有为这个id设置点击事件

3.xml文件指定

xml中的代码

<Button

        android:id="@+id/click"

        android:layout_width="50dp"

        android:layout_height="50dp"

        android:onClick="click"

        android:text="点击" />

activity中代码

fun click(v:View?) {

when(v ?.id){

R.id.id -> //执行方法

}  } 

万事开头难

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。