如何删除键 - 删除自定义android键盘中所有选定的编辑文本

时间:2016-06-24 03:10:16

标签: android keyboard android-softkeyboard android-input-method inputconnection

我正在创建自定义安卓键盘,我想删除所有编辑文本的删除键。

即,当选择文本时,剪贴板(剪切,复制,粘贴)出现;在该模式下,如果按下删除键,则应删除全部。它目前没有。

P.S不要告诉我一个特定的编辑文本,它是一个自定义键盘,它将无法访问编辑文本。

2 个答案:

答案 0 :(得分:2)

我不明白为什么不会。在键盘中,我创建了,我只是发出删除键事件,它就像一个魅力。在选择某些内容时按下删除/退格键时,请尝试以下操作。

getCurrentInputConnection().sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_DEL));
getCurrentInputConnection().sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP,KeyEvent.KEYCODE_DEL));

答案 1 :(得分:1)

您还可以查看InputConnection是否包含getSelectedText的所选文字。然后删除它(如果没有则删除前面的字符)。

CharSequence selectedText = inputConnection.getSelectedText(0);
if (TextUtils.isEmpty(selectedText)) {
    inputConnection.deleteSurroundingText(1, 0);
} else {
    inputConnection.commitText("", 1);
}