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

Android Studio中EditText为空时如何让字符计数TextView显示空白

解决EditText空内容时字符计数TextView显示空白的问题

你的代码核心问题出在afterTextChanged方法中:即使EditText内容为空,s != null的判断依然成立(空的Editable对象本身并非null),因此会执行剩余字符数的赋值逻辑,导致空内容时仍显示225 Characters Remaining。

修正方案

只需要在afterTextChanged中统一处理所有场景,移除beforeTextChanged和onTextChanged里的冗余逻辑,代码如下:

itemView.date_time_add.addTextChangedListener(object : TextWatcher {
    override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, end: Int) {
        // 无需在此处处理,逻辑统一移至afterTextChanged
    }

    override fun onTextChanged(s: CharSequence?, start: Int, count: Int, end: Int) {
        // 无需在此处处理,逻辑统一移至afterTextChanged
    }

    override fun afterTextChanged(s: Editable?) {
        itemView.cCount1.text = if (s.isNullOrEmpty()) {
            ""
        } else {
            "${225 - s.length} Characters Remaining"
        }
    }
})

逻辑说明

  • 当Editable为空(s.isNullOrEmpty()为true)时,直接将TextView设为空字符串
  • 当EditText有内容时,正常计算并显示剩余字符数
  • 移除冗余的UI修改逻辑,让代码更简洁,同时避免多次触发TextView刷新的不必要开销

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:18:13