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

问题描述 投票:-1回答:2

这是我的主要活动代码

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()部分收到一个错误,声明它是一个未解决的符号,任何帮助表示赞赏

android kotlin kotlin-android-extensions
2个回答
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


0
投票

有2个问题

首先是 - >(未解析的符号toInt())

我将这些添加到app build 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()
© www.soinside.com 2019 - 2024. All rights reserved.