Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 输入连接赢得';不要删除文本_Android_Kotlin_Input_Inputconnection - Fatal编程技术网

Android 输入连接赢得';不要删除文本

Android 输入连接赢得';不要删除文本,android,kotlin,input,inputconnection,Android,Kotlin,Input,Inputconnection,我一直在致力于在Android上制作一个定制键盘。我在使用退格从输入字段中删除字符时遇到问题。我的InputConnection对象将很好地添加字符,但不会删除它们。我尝试过使用deleteSurroundingText和deleteSurroundingcodepoints方法,但它们都没有起到任何作用。以下是处理按键操作的代码(其中,ic是InputConnection对象): delete键案例运行并执行deleteSurroundingText语句,但对文本字段没有影响。我该怎么做才能让

我一直在致力于在Android上制作一个定制键盘。我在使用退格从输入字段中删除字符时遇到问题。我的
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)
            }
        }
    }