如何在Kotlin中创建一个打开新活动(Android Studio)的按钮?
你好我正在制作一个使用Android Studio和Kotlin语言的应用程序,并且无法让我的按钮打开一个新的活动。我有我的xml文件中创建的按钮,但我找不到如何在MainActivity.kt中声明它的KOTLIN语法以及如何创建将带我到新活动的OnClicklistener。我在清单中定义了新的活动,我想我只需要关于如何从MainActivity.kt切换到secondActivity.kt的语法帮助。任何帮助表示赞赏。如何在Kotlin中创建一个打开新活动(Android Studio)的按钮?
您可以添加onclick
事件侦听器,如下所示。
button1.setOnClickListener(object: View.OnClickListener {
override fun onClick(view: View): Unit {
// Handler code here.
val intent = Intent(context, DestActivity::class.java);
startActivity(intent);
}
})
或者你可以用简单的形式
button1.setOnClickListener {
// Handler code here.
val intent = Intent(context, DestActivity::class.java)
startActivity(intent);
}
感谢您的回应,但是,如果我复制粘贴上面的代码到我的MainActivity.kt文件中,几乎整个事情都被错误消息所覆盖,说startActivity,Intent和context都是未解析的引用,并且最终/意图有变量预期。它还在第一行上说预计会员声明。任何想法有什么不对? 编辑:最重要的是,如果我使用简化形式它说函数声明不再有一个名称。 – Nutters
我假定你的按钮变量名称是'button1','context'变量有活动上下文(否则只使用'this'或'YourClassName.this')。 – Jayanth
将此代码添加到onCreate()中,并通过findViewById() – Jayanth
我建议你使用安口 - 扩展科特林https://github.com/Kotlin/anko。它让你使用意图(和其他更多的东西)最短的方式。你的情况it`ll是:在布局xml文件
<Button
android:id="@+id/btn_start_new_activity"
android:text="New Activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
button {
onClick { startActivity<SecondActivity>() }
}
谢谢!我也会研究这一点,我想先弄清楚如何以最初的方式做到这一点,但我肯定会考虑以后的项目。干杯。 – Nutters
按钮对于在Kotlin活动文件
var btn_new_activity = findViewById(R.id.btn_start_new_activity) as Button
设置Onclicklistener的按钮它声明,开始按钮被点击时的新活动
btn_new_activity.setOnClickListener {
val intent = Intent(context, NewActivity::class.java)
startActivity(intent);
}
就像Java一样,在Kotlin中也是如此。也许你需要先学习android而不是kotlin。 –