2

我正在创建自定义 android 键盘,如果选择它们,我希望删除键删除所有编辑文本。

ie, when text is selected, clipboard(cut,copy,paste comes up); 在那种模式下,如果按下删除键,它应该删除所有。目前没有。

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

4

2 回答 2

2

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

getCurrentInputConnection().sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_DEL));
getCurrentInputConnection().sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP,KeyEvent.KEYCODE_DEL));
于 2016-11-22T19:18:19.837 回答
1

您还可以查看 是否InputConnection有任何选定的文本getSelectedText。如果有,则删除它(如果没有,则删除前面的字符)。

CharSequence selectedText = inputConnection.getSelectedText(0);
if (TextUtils.isEmpty(selectedText)) {
    inputConnection.deleteSurroundingText(1, 0);
} else {
    inputConnection.commitText("", 1);
}
于 2017-07-20T01:38:22.403 回答