EditText with soft keyboard and "Back" button

OGP picture OGP · Jul 4, 2011 · Viewed 20.6k times · Source

When I'm using "EditText" I have the virtual keyboard.

Pressing first time "Back" button hides the keyboard. Second press invokes "onBackPressed" callback in my activity. OK, but...

I have no idea how to hook the very first press. I need to process input data as soon as the virtual keyboard dismissed.

Any ideas are welcome.

Thanks.

Answer

Blundell picture Blundell · Jul 4, 2011

You can override when the keyboard disappears using this method:

  public boolean onKeyPreIme(int keyCode, KeyEvent event) {
   if (keyCode == KeyEvent.KEYCODE_BACK && 
       event.getAction() == KeyEvent.ACTION_UP) {
           // Do your thing here
           return false;
   }
   return super.dispatchKeyEvent(event);
  }

Taken from my other answer @ : Android: Error popup on EditText doesn't move down when keyboard goes away