Просто даже этого не распознает. На самом деле я пробую эту ссылку: https://thewikihow.com/video_S4jkcRhembY
Вот мой код в ActivityMain:
<Button
android:id = "@+id/requestpermissionbutonu"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Hello World!"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintHorizontal_bias = "0.5"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toTopOf = "parent" />
А в mainactivity.kt вот так использую:
requestpermissionbutonu.setOnClickListener {
requestPermissions()
}
Там написано так: Unresolved reference: requestpermissionbutonu
импорт тоже в порядке, как видно здесь:
package com.example.camlockotlin
import android.Manifest
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.content.pm.PackageManager
import android.util.Log
import androidx.core.app.ActivityCompat
Вы должны сначала привести кнопку из xml в Kotlin:
val requestpermissionbutonu = findViewById<Button>(R.id.requestpermissionbutonu)
то вы можете установить OnClickListener
Вам нужно это в вашем модуле приложения build.gradle
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
Код, который вы используете, основан на синтетическом связывании Kotlin, что означает магию, которая находит представления для вас и создает переменную, на которую вы можете ссылаться, без необходимости что-либо делать. Вот что делает плагин kotlin-android-extensions
Синтетика устарела, поэтому вы не должны ее использовать. Ответ @A Honey Bustard - лучший (и нормальный) способ справиться с этим с помощью findViewById, если вы не хотите использовать библиотеку View Binding