Android 输入连接赢得';不要删除文本
我一直在致力于在Android上制作一个定制键盘。我在使用退格从输入字段中删除字符时遇到问题。我的Android 输入连接赢得';不要删除文本,android,kotlin,input,inputconnection,Android,Kotlin,Input,Inputconnection,我一直在致力于在Android上制作一个定制键盘。我在使用退格从输入字段中删除字符时遇到问题。我的InputConnection对象将很好地添加字符,但不会删除它们。我尝试过使用deleteSurroundingText和deleteSurroundingcodepoints方法,但它们都没有起到任何作用。以下是处理按键操作的代码(其中,ic是InputConnection对象): delete键案例运行并执行deleteSurroundingText语句,但对文本字段没有影响。我该怎么做才能让
InputConnection
对象将很好地添加字符,但不会删除它们。我尝试过使用deleteSurroundingText
和deleteSurroundingcodepoints
方法,但它们都没有起到任何作用。以下是处理按键操作的代码(其中,ic
是InputConnection
对象):
delete键案例运行并执行deleteSurroundingText
语句,但对文本字段没有影响。我该怎么做才能让退格开始工作
// Handle keypresses, input
override fun onKey(keyCode: Int) {
// Handle key code
when (keyCode) {
// Special Keys
KeyboardButton.Buttons.NONE.action -> return
KeyboardButton.Buttons.BACKSPACE.action -> {
// THIS DOES NOT WORK
ic.deleteSurroundingText(1,0)
}
KeyboardButton.Buttons.DELETE.action -> {
// THIS DOES NOT WORK
ic.deleteSurroundingText(0,1)
}
KeyboardButton.Buttons.CAPS.action -> {
caps = !caps
// Code relating to capitalization...
}
KeyboardButton.Buttons.ENTER.action -> ic.sendKeyEvent(
KeyEvent(
KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_ENTER
)
)
// All other keys
else -> {
// Convert to character
var character = keyCode.toChar()
// Uppercase
if (Character.isLetter(character) && caps) {
character = Character.toUpperCase(character)
}
// Send to input
ic.commitText(character.toString(), 1)
}
}
}