【问题标题】:Kotlin onClick Button is not working in Android StudioKotlin onClick 按钮在 Android Studio 中不起作用
【发布时间】:2020-09-01 08:16:15
【问题描述】:

我刚刚开始使用 Android Studio 和 Kotlin。不幸的是,我对这里的简单应用程序感到绝望。

我希望通过按钮的 onClick 事件处理某个功能,然后祝酒。

但在我目前的设置中,这似乎不起作用。我将发布它的代码。所以一旦我的 MainActivity.kt 和 activity_main.xml

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

    }

    fun startDashboard(view: View) {
        Toast.makeText(this@MainActivity, "called startDasboard",Toast.LENGTH_SHORT).show()
    }
}
   <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_percent="0.1" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_percent="0.9" />

    <Button
        android:id="@+id/startButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="30dp"
        android:onClick="startDashboard"
        android:text="@string/startButtonText"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/guideline" />



    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="625dp" />


</androidx.constraintlayout.widget.ConstraintLayout>

【问题讨论】:

  • 您能否发布完整的 XML 文件,因为您在此处发布的代码可以正常工作
  • 我发布了代码。我很高兴它应该是那样的......
  • 点击按钮应用会崩溃?
  • 这能回答你的问题吗? Kotlin in xml onClick not work
  • 应用程序不会崩溃。只是什么都没有发生。没有错误信息。我认为该功能已找到。也许吐司有问题?

标签: android android-studio kotlin


【解决方案1】:

在我看来,代码看起来不错。不过,既然你说它不显示吐司,那就试试这个吧。

在你的 MainActivity.kt

// below the setContentView()

val button: Button = findViewById(R.id.startButton)

button.setOnClickListener{ view ->
    startDashboard(view)
}

【讨论】:

  • 感谢您的帮助。我现在成功地使用该方法来实现一个 onClick 监听器。现在我也看到了吐司。
猜你喜欢
  • 1970-01-01
  • 2020-08-17
  • 2023-02-06
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
相关资源
最近更新 更多