У меня есть код:
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() } }
Когда я запускаю его, я получаю ошибки:
Любой может объяснить мне, почему это так и исправить. Спасибо.
Вы импортируете идентификаторы, а не просмотры. Вместо:
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
использовать это:
import kotlinx.android.synthetic.main.activity_main.*
и добавьте плагин в файл приложения gradle:
apply plugin: 'kotlin-android-extensions'
Похоже, вы пытаетесь использовать Kotlin Android Extensions . Для этого импортируйте:
import kotlinx.android.synthetic.main.activity_main.*
вместо
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
Потратьте несколько минут на чтение, как работает KAE – это вам очень поможет.
Более того, таких методов, как ToString()
и ToInt()
. То, что вы ищете, это: toString()
и toInt()
.
Вы получили unresolved
ошибку, потому что у вас нет импортированного представления. Вместо просмотра вы импортировали идентификаторы.
Импорт Для импорта одного вида
import kotlinx.android.synthetic.main.<layout_name>.<view_name>;
или
Чтобы импортировать все свойства виджета для определенного макета
import kotlinx.android.synthetic.main.<layout>.*
Также вам нужно включить плагин Android Extensions Gradle в файле build.gradle вашего модуля:
apply plugin: 'kotlin-android-extensions'