首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Kotlin Android x Java中的ClickListener

Kotlin Android x Java中的ClickListener
EN

Stack Overflow用户
提问于 2018-09-27 06:09:08
回答 3查看 203关注 0票数 1

如何点击use kotlin?

在java中,我使用findviewbyid和setonclicklistener。

在安卓系统上的Kotlin会是什么样子呢?

EN

回答 3

Stack Overflow用户

发布于 2020-01-30 13:27:14

不需要扩展:你可以通过你的模块级build.gradle文件中‘kotlin-android- findViewById’行的合成属性来引用你的视图in。

项目中的build.gradle(应用程序)文件:应用插件:'kotlin-android-extensions‘

然后在您的xml文件中:

代码语言:javascript
复制
<android:id="@+id/tvForgotPsw"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="Forgot your password"/>

最后,在.kt文件中,您只需使用视图in及其属性:

代码语言:javascript
复制
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)

    tvForgotPsw.setOnClickListener(object : View.OnClickListener{
        override fun onClick(p0: View?) {
        }
    })
}
票数 1
EN

Stack Overflow用户

发布于 2018-09-27 06:12:52

完全一样的方式。Kotlin也没什么不同。它只有lambdas:

代码语言:javascript
复制
val view = findViewById<SomeViewClass>(R.id.some_id)
view.setOnClickListener {
    //"it" is the clicked View
}

您甚至可以将Java代码粘贴到您的IDE中,它会为您将其转换为Kotlin。

您也可以使用read the docs

票数 0
EN

Stack Overflow用户

发布于 2018-09-27 11:56:22

在kotlin中,您不需要findViewById()。您可以使用kotlin扩展,它具有合成绑定

对于click listener,与java不同,您不需要接口的匿名实现

view.setOnClickListener({ v -> toast("Hello") })

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52526675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档