如何在CustomView中检测Back Key

Got*_*tie 6 android key detect back

我想在CustomView中检测Back Key事件(例如,EditText).在许多情况下,它是通过覆盖onKeyDown()dispatchKeyEvent()在我的CustomView获得焦点的条件下实现的.

CustomView.java

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if( keyCode == KeyEvent.KEYCODE_BACK) {
        ..... 
        return true;
    }else{
        return super.onKeyDown(keyCode, event);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果包含CustomView的Activity也覆盖了onKeyDown()or dispatchKeyEvent(),则无法正常工作.也就是说,Activity已经在CustomView之前获得了Back-KeyEvent.

我优先想要在Activity之前捕获Back-KeyEvent.

请告诉我一些关于这个问题的想法.谢谢.

Moh*_*san 2

您需要实现此功能以在将 BACK 按钮分派到 IME 之前捕获它:

http://developer.android.com/reference/android/view/View.html#onKeyPreIme(int,android.view.KeyEvent )