Попробуйте это TextWatcher
.
class SharpWordsTextWatcher: TextWatcher {
private var addSharp: Boolean = false
private var isEmpty = false
override fun afterTextChanged(s: Editable) {
if(addSharp) {
s.insert(s.length - 1, "#")
}
}
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
isEmpty = s.isEmpty() || s.last() == ' '
}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
addSharp = isEmpty && s.last() != ' ' && count != 0
}
}
И добавьте это к своему EditText
.
myEditText.addTextChangedListener(SharpWordsTextWatcher())