如何单击使用Kotlin?
在Java中,我确实使用过findviewbyid和setonclicklistener
在Android的Kotlin中会如何?
答案 0 :(得分:1)
无需findViewById: 您可以通过ID的综合属性通过其ID引用您的视图 模块级别build.gradle文件中的“ kotlin-android-extensions”行。
build.gradle(app)文件在您的项目中: 应用插件:“ kotlin-android-extensions”
然后在您的xml文件中:
<android:id="@+id/tvForgotPsw"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Forgot your password"/>
最后,在您的.kt文件中,您只需要使用视图ID及其属性:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
tvForgotPsw.setOnClickListener(object : View.OnClickListener{
override fun onClick(p0: View?) {
}
})
}
答案 1 :(得分:0)
同样的方法。 Kotlin没什么不同。它只有lambda:
val view = findViewById<SomeViewClass>(R.id.some_id)
view.setOnClickListener {
//"it" is the clicked View
}
您甚至可以将Java代码粘贴到您的IDE中,它将为您将其转换为Kotlin。
您也可以read the docs。
答案 2 :(得分:0)
在kotlin中,您不需要findViewById()。 您可以使用kotlin扩展,并且具有合成绑定
对于点击监听器,与Java不同,您不需要接口的匿名实现
view.setOnClickListener({ v -> toast("Hello") })