MainActivity Kotlin Android中未解析的符号toInt()

时间:2018-09-11 11:48:04

标签: android kotlin kotlin-android-extensions

这是我主要活动的代码

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

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

fun onButton(view: View?){
    if(view != null) {
        if (input1.text != null && input2.text != null) {
            output.text = (input1.toString().toInt() + input2.toString().toInt()).toString()
        }
    }
}
}

我在toInt()部分遇到错误,指出它是一个未解决的符号,感谢任何帮助

2 个答案:

答案 0 :(得分:1)

尝试一下

input1.text.toString().toInt() + input2.text.toString().toInt()

代替

input1.toString().toInt() + input2.toString().toInt()

编辑

output.setText((input1.text.toString().toInt() + input2.text.toString().toInt()).toString()) 

使用 editText.setText()

请勿使用 output.text ,因为editText.text需要Editable,而不是String

答案 1 :(得分:0)

有2个问题

先被存在->(未解析的符号为int())

我将它们添加到应用程序构建gradle文件中,然后清理了项目:

apply plugin: 'kotlin-kapt' 
android{
...
dataBinding {
    enabled = true
  }
}
dependencies{
....
 kapt 'com.android.databinding:compiler:3.1.4'
}

第二次出现->(这导致应用程序崩溃)

input1.text.toString().toInt() + input2.text.toString().toInt()

代替

input1.toString().toInt() + input2.toString().toInt()