How to make delete key- delete all selected edit text in custom android keyboard
Asked Answered
C

2

2

I am creating custom android keyboard and I want delete key to delete all the edit text if they are selected.

i.e, when text is selected, clipboard(cut,copy,paste comes up); in that mode , if the delete key is pressed, it should delete all. It doesn't currently.

P.S don't tell me for a specific edit text, it is a custom keyboard, it won't have access to edit text.

Cantle answered 24/6, 2016 at 3:10 Comment(0)
B
2

I don't see why it won't. In the keyboard, I created, I just send out the delete key event and it works like a charm. Try the following when delete/backspace key is pressed while something is selected.

getCurrentInputConnection().sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_DEL));
getCurrentInputConnection().sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP,KeyEvent.KEYCODE_DEL));
Binah answered 22/11, 2016 at 19:18 Comment(1)
When I was making a custom Editor I forgot that I had to handle the delete as KeyEvent. That makes sense that I have to also send it as a key event from the other direction.Ambuscade
A
1

You can also see if the InputConnection has any selected text with getSelectedText. Then delete it if it does (or delete the preceding character if it doesn't).

CharSequence selectedText = inputConnection.getSelectedText(0);
if (TextUtils.isEmpty(selectedText)) {
    inputConnection.deleteSurroundingText(1, 0);
} else {
    inputConnection.commitText("", 1);
}
Ambuscade answered 20/7, 2017 at 1:38 Comment(1)
but don't forget about emojiAmbuscade

© 2022 - 2024 — McMap. All rights reserved.