Referencia no resuelta: findViewById en Kotlin

fun Tryouts() { var CheckBox1 : CheckBox = findViewById(R.id.ForwardBox) as CheckBox CheckBox1.setChecked(false) } 

Todavía soy un principiante en Kotlin habiendo aprendido solo el funcionamiento básico de kotlin, no puedo referirme a ningún widget de Android o cambiar su estado en Android Studio ya sea TextView o CheckBox o RadioBox.
Mismos errores de reference sin resolver para findViewById en todos los casos …
No sé qué es lo que estoy haciendo mal, incluso la conversión de Java produce los mismos errores.

En Kotlin no necesita usar findViewById , simplemente use id ForwardBox de kotlinx.android.synthetic.<your layout name> . Todos los elementos usados ​​en su código se encuentran automáticamente y se asignan al mismo nombre de variable como ids en el layout (xml) por kotlin.

Por ejemplo:

 fun init(){ ForwardBox.isChecked = false } 
 fun Tryouts() { val checkBox = findViewById(R.id.ForwardBox) as CheckBox checkBox.isChecked = false } 

De todos modos, considere definir sus ID en minúsculas separadas por guiones bajos, por ejemplo:

 val checkBox = findViewById(R.id.forward_box) as CheckBox 

Parece que esta es la forma más fácil de deshacerse de findViewById ()

Vaya a Build.Gradle (Módulo: aplicación)

Agregue la siguiente línea

 apply plugin: 'kotlin-android-extensions' 
  • Luego te pedirá que sincronices
  • A continuación, presione synchronization

Después de eso, MainActivity.kt a su file de actividad Dígalo muchos sean MainActivity.kt

Hay import Para importar vista individual

 import kotlinx.android.synthetic.main.<layout_name>.<view_name>; 

o

Para importar todas las vistas

 import kotlinx.android.synthetic.main.<layout_name>.*; 

Ejemplo: en su layout

 <Checkbox id="@+/forwardBox" . . . /> 

está en la distribución activity_main luego se importa como

 import kotlinx.android.synthetic.main.activity_main.forwardBox; 

entonces, ya sea en tu function o class, úsalo directamente

 forwardBox.isChecked = false 

Tu código es incorrecto Por favor cámbialo a esto.

 fun Tryouts() { var CheckBox1 = findViewById(R.id.ForwardBox) as CheckBox CheckBox1.setChecked(false) } 

En Kotlin, solo declara una variable. Me gusta: var abc

abc puede ser inicializado por cualquier tipo de object.

Si tenemos que ver una vista desde el layout, entonces tenemos que escribir:

 findViewById(R.id.ForwardBox) 

Entonces echa esa vista.

 findViewById(R.id.ForwardBox) as CheckBox 

Luego almacene en una variable.

 var CheckBox1 = findViewById(R.id.ForwardBox) as CheckBox 
  • El complemento de Klotlin-Spring de Gradle no abre classs de spring
  • Animación consecutiva en TornadoFX?
  • Cómo get el valor del ObservableField en android
  • Kotlin y Spark: problemas de SAM
  • IntelliJ importa Java Boolean y luego arroja un error
  • Java / Kotlin Encrypt AES key con key privada y pública
  • Cargue la configuration xml del muelle de forma dinámica
  • Error XML de Android Studio "Controlador de método correspondiente no encontrado" en onClick
  • Kotlin: ¿Cómo puedo crear una function henetworkingable "estática"?
  • Kotlin null de Java
  • Alerta Anko de Android con error de visualización personalizada (Kotlin)