需要替换ediTtext内部的文本,以便将字母替换为realTime +。将值存储在(“A”到"B") +所需文字的映射中;例如:写入A输出B或输出b
binding.etPassword.addTextChangedListener(object : TextWatcher {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
override fun afterTextChanged(s: Editable) {
binding.etPassword.removeTextChangedListener(this)
val mapping = mapOf("A" to "B")
val text = s.toString().replace("A", "B")
s.replace(0, s.length, text)
binding.etPassword.addTextChangedListener(this)
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}发布于 2022-10-19 14:15:25
您需要迭代映射,每次更改前一个输出。
override fun afterTextChanged(s: Editable) {
binding.etPassword.removeTextChangedListener(this)
val mapping = mapOf("A" to "B")
var text = s.toString()
for ((a, b) in mapping) {
text = text.replace(a, b)
}
s.replace(0, s.length, text)
binding.etPassword.addTextChangedListener(this)
}https://stackoverflow.com/questions/74125441
复制相似问题