在Kotlin Android中出现错误“未解决的参考”
我有代码:
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() } }
当我运行它时,我收到错误:
- 未解决的引用setOnClickListener
- 未解决的参考:文字
- 未解决的参考:ToString
任何人都可以解释为什么这是如此,并修复它谢谢
您导入ids,而不是视图。 代替:
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扩展 。 要这样做导入:
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
错误。 而不是查看你已经导入ID。
有导入要导入单个视图
import kotlinx.android.synthetic.main..;
要么
导入特定布局的所有小部件属性
import kotlinx.android.synthetic.main..*
您还需要在模块的build.gradle文件中启用Android扩展Gradle插件:
apply plugin: 'kotlin-android-extensions'