Android edittext 如何立即知道用户是否在edittext android中按空格

Android edittext 如何立即知道用户是否在edittext android中按空格,android-edittext,onkeydown,textwatcher,Android Edittext,Onkeydown,Textwatcher,以下是我用来获取密钥事件的方法,这些方法在emulator上运行良好,但在设备上似乎不起作用 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_SPACE) { Log.e("onkeydown", "onkeydown"); } r

以下是我用来获取密钥事件的方法,这些方法在emulator上运行良好,但在设备上似乎不起作用

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (keyCode == KeyEvent.KEYCODE_SPACE) {
        Log.e("onkeydown", "onkeydown");
    }
    return super.onKeyDown(keyCode, event);
}

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_SPACE) {
        Log.e("dispatch", "dispatch");
    }
    return super.dispatchKeyEvent(event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_SPACE) {
        Log.e("onkeyup", "onkeyup");
    }
    return super.onKeyUp(keyCode, event);
}
以下是我用来获取密钥事件的方法,这些方法在emulator上运行良好,但在设备上似乎不起作用

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (keyCode == KeyEvent.KEYCODE_SPACE) {
        Log.e("onkeydown", "onkeydown");
    }
    return super.onKeyDown(keyCode, event);
}

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_SPACE) {
        Log.e("dispatch", "dispatch");
    }
    return super.dispatchKeyEvent(event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_SPACE) {
        Log.e("onkeyup", "onkeyup");
    }
    return super.onKeyUp(keyCode, event);
}
试试这个

editText.setOnKeyListener(new OnKeyListener() {           
        @Override
        public boolean onKey(View v, int key, KeyEvent event) {
            if (event.getAction()==KeyEvent.ACTION_DOWN && key == KeyEvent.KEYCODE_ENTER) {
                //write code when key press
                return true;
            }
            return false;
        }
    });