首页 > 解决方案 > 找不到按钮、kotlin 库的参考

问题描述

在这里输入图片描述我只有这个:

package com.example.world

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

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


        button.setOnClickListener() {
            // Do some work here
        }
    }
}

但在这一行:

  button.setOnClickListener() {
            // Do some work here
        }

它说:

Unresolved reference: button

而且我没有看到重要的正确库的提示。

那么我必须导入什么样的库呢?

谢谢

如果我这样做:

 val btn_click = findViewById(R.id.button) as Button

        btn_click.setOnClickListener(){
            Toast.makeText(this@MainActivity, "YOu clicked on me", Toast.LENGTH_LONG).show()
        }

然后它工作。

但这不一定是我读过的。

您不必对按钮进行引用。

所以你可以这样做:

button.setOnClickListener ...但是正确的库是什么?

标签: android-studiokotlin

解决方案


您不能使用“抽象”按钮,您需要通过元素 id 在布局中找到它(您的布局中可以有很多按钮,如何在没有 id 的情况下找到正确的按钮?)如果您不想找到布局元素通过 id,您可以在此处查看 Android 视图绑定:https ://developer.android.com/topic/libraries/view-binding 。


推荐阅读