Error "reference no resuelta" en Android Kotlin

Tengo código:

package com.example.admin.maytinh import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import com.example.admin.maytinh.R.id.button import com.example.admin.maytinh.R.id.editText import com.example.admin.maytinh.R.id.editText2 import com.example.admin.maytinh.R.id.editText3 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener(View.OnClickListener{xuly()}) } public fun xuly(){ val a:Int = editText.text.ToString().ToInt() val b:Int = editText2.text.ToString().ToInt() val c:Int = a + b editText3.text = c.ToString() } } 

Cuando lo ejecuto, recibo errores:

  • reference no resuelta setOnClickListener
  • reference no resuelta: text
  • reference no resuelta: ToString

Cualquiera me puede explicar por qué esto es así y arreglarlo Gracias

Está importando identificadores, no vistas. En lugar de:

 import com.example.admin.maytinh.R.id.button import com.example.admin.maytinh.R.id.editText import com.example.admin.maytinh.R.id.editText2 import com.example.admin.maytinh.R.id.editText3 

utilizar esta:

 import kotlinx.android.synthetic.main.activity_main.* 

y agrega el complemento en el file gradle de la aplicación:

 apply plugin: 'kotlin-android-extensions' 

Parece que estás tratando de usar las extensiones de Kotlin para Android . Para hacerlo, importa:

 import kotlinx.android.synthetic.main.activity_main.* 

en lugar de

 import com.example.admin.maytinh.R.id.button import com.example.admin.maytinh.R.id.editText import com.example.admin.maytinh.R.id.editText2 import com.example.admin.maytinh.R.id.editText3 

Dedica unos minutos a leer cómo funciona KAE, te ayudará mucho.

Además, no existen methods como ToString() y ToInt() . Lo que estás buscando es esto: toString() y toInt() .

Tienes un error unresolved porque no has importado la vista. En lugar de ver, tiene importados identificadores.

Hay import Para importar vista individual

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

o

Para importar todas las properties del widget para un layout específico

 import kotlinx.android.synthetic.main.<layout>.* 

También lo que necesita es habilitar el complemento Gradle de Android Extensions en el file build.gradle de su module:

 apply plugin: 'kotlin-android-extensions' 
  • No se puede acceder a val en Kotlin
  • Configuración de oyentes de Android en Kotlin: uso del retorno en lambdas
  • No se pueden agregar los fragments usando la function de Extensión de Kotlin
  • Texto parpadeando en Android, con Kotlin más conciso
  • ¿Por qué ocurre un error de lanzamiento inteligente en kotlin?
  • Cualquier mejora de código en agregar / replace fragment
  • kotlin-android null no se puede convertir a tipo no nulo kotlin.String
  • Kotlin build no puede get classs creadas por SquidDatabase