You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Kotlin代码遇Unresolved reference: text/settext错误求助

解决Android Kotlin中getText/setText的「Unresolved reference」错误

你的报错核心是误用控件类型+方法名大小写错误,具体修正方案如下:

问题根源

  • TextInputLayout是包裹EditText的容器控件,它本身没有text属性和setText()方法,必须操作它内部的EditText实例。
  • Kotlin中Android控件的文本设置方法是setText()(首字母大写),你写的settext()是错误的大小写形式。

修正后的完整代码

class MainActivity : AppCompatActivity() {

    private val egyptianPound = "Egyptian Pound"
    private val americanDollar = "American Dollar"
    private val AED = "AED"
    private val GBP = "GBP" // 修正拼写错误:GBD -> GBP

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        val convertBtn: Button = findViewById(R.id.button)
        val amountInputLayout: TextInputLayout = findViewById(R.id.textInputLayout3)
        val toDropMenu: AutoCompleteTextView = findViewById(R.id.todropmenu)
        val resultInputLayout: TextInputLayout = findViewById(R.id.result_edit_text)
        
        val countryList = listOf(egyptianPound, americanDollar, AED, GBP)
        val adapter = ArrayAdapter(this, R.layout.drop_down_list, countryList)
        toDropMenu.setAdapter(adapter)
        
        convertBtn.setOnClickListener {
            // 获取TextInputLayout内部的EditText,空安全判断
            val amountEditText = amountInputLayout.editText ?: return@setOnClickListener
            val amountStr = amountEditText.text.toString()
            
            // 防止非数字输入崩溃
            val amount = amountStr.toDoubleOrNull() ?: return@setOnClickListener
            
            val result = amount * 30.95
            // 操作结果输入框的EditText
            val resultEditText = resultInputLayout.editText ?: return@setOnClickListener
            resultEditText.setText(result.toString())
        }
    }
}

额外优化说明

  • 修正了变量名拼写错误,符合Kotlin命名规范
  • 增加空安全判断,避免空指针异常
  • 增加输入合法性校验,防止非数字输入导致崩溃

内容的提问来源于stack exchange,提问作者Hazem Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:33:29