Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to catch a "Done" key press from the soft keyboard

Tags:

android

how do I catch specific key events from the soft keyboard? specifically I'm interested in the "Done" key.

like image 806
oriharel Avatar asked Jun 13 '10 10:06

oriharel


1 Answers

I am not quite sure which kind of listener was used in the accepted answer. I used the OnKeyListener attached to an EditText and it wasn't able to catch next nor done.

However, using OnEditorActionListener worked and it also allowed me to differentiate between them by comparing the action value with defined constants EditorInfo.IME_ACTION_NEXT and EditorInfo.IME_ACTION_DONE.

editText.setOnEditorActionListener(new OnEditorActionListener() {     @Override     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {         if ((actionId & EditorInfo.IME_MASK_ACTION) != 0) {             doSomething();             return true;         }         else {             return false;         }     } }); 
like image 110
Swato Avatar answered Sep 20 '22 10:09

Swato