设置长度字符 Emoji Edittext Android Kotlin
set length character Emoji Edittext Android Kotlin
我有 1 个 edittext maxLength = 30,但我只能输入 6 个字符的表情符号狗 => 1 个表情符号狗 = 6 个常规字符。所以请帮我输入 30 个表情符号狗。谢谢大家。
[在此处输入图片描述][1]
当有人输入表情符号时,您可以对该表情符号调用 .length
,然后按该数量增加您的最大字符数。 (如果你想隐藏魔法,你必须记住你原来的字符数并在你的 UI 上使用它)。
即当有人输入“狗”时,您将最大计数从 30 增加到 35。(已使用 1,狗通常算作 6)
参考:
editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {
oldTextString = charSequence.toString()
}
override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
override fun afterTextChanged(editable: Editable) {
var newTextString = editable.toString()
if (!oldTextString.equals(newTextString)) {
if (Character.codePointCount(
newTextString,
0,
newTextString.length
) > maxCharactersAllowed
) {
newTextString = oldTextString
}
editText.setText(newTextString)
editText.setSelection(newTextString.length)
}
}
})
我有 1 个 edittext maxLength = 30,但我只能输入 6 个字符的表情符号狗 => 1 个表情符号狗 = 6 个常规字符。所以请帮我输入 30 个表情符号狗。谢谢大家。
[在此处输入图片描述][1]
当有人输入表情符号时,您可以对该表情符号调用 .length
,然后按该数量增加您的最大字符数。 (如果你想隐藏魔法,你必须记住你原来的字符数并在你的 UI 上使用它)。
即当有人输入“狗”时,您将最大计数从 30 增加到 35。(已使用 1,狗通常算作 6)
参考:
editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {
oldTextString = charSequence.toString()
}
override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}
override fun afterTextChanged(editable: Editable) {
var newTextString = editable.toString()
if (!oldTextString.equals(newTextString)) {
if (Character.codePointCount(
newTextString,
0,
newTextString.length
) > maxCharactersAllowed
) {
newTextString = oldTextString
}
editText.setText(newTextString)
editText.setSelection(newTextString.length)
}
}
})