@Override public boolean dispatchKeyEvent(KeyEvent event) { if (mContext.onKeyEvent(id, this, event)) { Log.d(TAG, "Window " + id + " key event " + event + " cancelled by implementation."); return false; } if (event.getAction() == KeyEvent.ACTION_UP) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_BACK: mContext.unfocus(this); return true; } } return super.dispatchKeyEvent(event); }