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

Kotlin:拼接EditText文本后在Toast显示失败,求助解决方法

问题分析与解决

核心问题

你的代码在Activity初始化阶段就提前获取了EditText的文本值,此时用户还没输入任何内容,所以placa、placa2、placa3都是空字符串。点击按钮时显示的是初始化时生成的空值拼接结果,自然只显示"The plate is "。

修正代码

把获取输入文本和拼接字符串的逻辑移到按钮点击事件内部,这样每次点击时才会实时读取当前输入框的内容:

// 初始化控件
val button: Button = findViewById(R.id.consultar)
val editTextPlaca: EditText = findViewById(R.id.placa)

button.setOnClickListener {
    // 点击按钮时才实时获取输入文本
    val placa = editTextPlaca.text.toString()
    val mensaje = "The plate is $placa"
    Toast.makeText(this, mensaje, Toast.LENGTH_SHORT).show()
}

额外优化提示

  • 不需要重复用三种方式获取文本,editTextPlaca.text.toString()是Kotlin中最简洁的正确写法
  • 使用Kotlin字符串模板$placa替代+拼接,代码更简洁易读
  • 可以添加空输入判断,提升用户体验:
    button.setOnClickListener {
        val placa = editTextPlaca.text.toString().trim()
        val mensaje = if (placa.isEmpty()) {
            "请输入车牌号码"
        } else {
            "The plate is $placa"
        }
        Toast.makeText(this, mensaje, Toast.LENGTH_SHORT).show()
    }
    

内容的提问来源于stack exchange,提问作者Alex Güemez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:02:56