【问题标题】:My button on clicked is not working in Kotlin Android Studio我点击的按钮在 Kotlin Android Studio 中不起作用
【发布时间】:2023-02-06 14:50:33
【问题描述】:

我遇到的问题是我的按钮 ID 配置正确,在我的主要活动中,我也使用正确的 ID 调用按钮,但是在模拟器上运行项目后,单击后按钮不起作用它多次。

谁能帮我解决问题?

这是我的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="@color/bgColor"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_marginBottom="20dp"
        android:text="Mobile Quiz Application"
        android:textColor="@color/white"
        android:textSize="30sp"
        android:textStyle="bold" />

    <com.google.android.material.card.MaterialCardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        app:cardCornerRadius="10dp"
        android:background="@color/white">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:padding="10dp"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:gravity="center"
                android:text="Welcome To The Quiz App!"
                android:textColor="@color/txtTitle"
                android:textSize="25sp"
                android:textStyle="bold" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:gravity="center"
                android:text="Please enter your name before starting the quiz."
                android:textColor="@color/txtDesc"
                android:textSize="15sp" />

            <com.google.android.material.textfield.TextInputLayout
                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp">

                <androidx.appcompat.widget.AppCompatEditText
                    android:id="@+id/etName"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Your name......"
                    android:inputType="textCapWords"
                    android:textColor="@color/txtTitle"
                    android:textColorHint="@color/txtDesc" />
            </com.google.android.material.textfield.TextInputLayout>

            <Button
                android:id="@+id/btn_Start"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
                android:text="Continue"
                android:textStyle="bold">
            </Button>
        </LinearLayout>
    </com.google.android.material.card.MaterialCardView>
</LinearLayout>

这是我的主文件:

package com.example.quizapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast

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

        val btnStart = findViewById<Button>(R.id.btn_Start)
        val nameInput = findViewById<EditText>(R.id.etName)
        btnStart.setOnClickListener {
            Toast.makeText(this@MainActivity, "You clicked me.", Toast.LENGTH_SHORT).show()

        }
    }
}

【问题讨论】:

    标签: android android-studio kotlin


    【解决方案1】:

    findViewById 是一种旧方法。 我建议您使用 ViewBinding。 click here to documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 2023-01-09
      • 2016-04-19
      • 1970-01-01
      • 2015-09-26
      相关资源
      最近更新 更多