如何在Kotlin中创建一个打开新活动(Android Studio)的按钮?

问题描述:

你好我正在制作一个使用Android Studio和Kotlin语言的应用程序,并且无法让我的按钮打开一个新的活动。我有我的xml文件中创建的按钮,但我找不到如何在MainActivity.kt中声明它的KOTLIN语法以及如何创建将带我到新活动的OnClicklistener。我在清单中定义了新的活动,我想我只需要关于如何从MainActivity.kt切换到secondActivity.kt的语法帮助。任何帮助表示赞赏。如何在Kotlin中创建一个打开新活动(Android Studio)的按钮?

+1

就像Java一样,在Kotlin中也是如此。也许你需要先学习android而不是kotlin。 –

您可以添加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); 
    } 
+0

感谢您的回应,但是,如果我复制粘贴上面的代码到我的MainActivity.kt文件中,几乎整个事情都被错误消息所覆盖,说startActivity,Intent和context都是未解析的引用,并且最终/意图有变量预期。它还在第一行上说预计会员声明。任何想法有什么不对? 编辑:最重要的是,如果我使用简化形式它说函数声明不再有一个名称。 – Nutters

+0

我假定你的按钮变量名称是'button1','context'变量有活动上下文(否则只使用'this'或'YourClassName.this')。 – Jayanth

+1

将此代码添加到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>() } 
    } 
+0

谢谢!我也会研究这一点,我想先弄清楚如何以最初的方式做到这一点,但我肯定会考虑以后的项目。干杯。 – 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); 
    }