首页 > 解决方案 > 如何真正重置editText以显示修改后的提示

问题描述

我想重置编辑文本。我试过 getText().clear() 但没有出现提示。设置为“”不是我的目标,因为监听器再次触发。我的目标只是再次显示提示。如何 ?

最终编辑问题:最终目标是用另一个字符替换一个字符,所以我考虑使用提示。但事实上,还有更好的解决方案。请参阅下面的我的答案,或者更漂亮的解决方案与系统的罪人的答案。

旧编辑 1:

  override fun afterTextChanged(p0: Editable?) {
            var hintSave:String=PKd.text.toString().replace(".","+")
            if (!PKd.text.isNullOrEmpty()){
            Handler().postDelayed({
            PKf.setText("Pkf")
                PKd.setText("")
                PKd.hint=hintSave
            }, 3000)}
        }

旧编辑 2:

提示不会以一种方式出现什么是问题。我们可以延迟输入以仅考虑一次输入吗?

标签: androidkotlinandroid-edittext

解决方案


与您的答案相同,但更具科特林风格

val Pkd = findViewById<EditText>(R.id.editTexT_PKd)
val regex = Regex("[.,]")
Pkd.doAfterTextChanged {
    if (it?.contains(regex) == true) {
        Pkd.setText(it.replace(regex, "+"))
        Pkd.setSelection(it.length)
    }
}

推荐阅读