Space android 中的按键点击事件

Space Key Click Event in android

我想在 android 键盘中获取 space 按键事件。 我尝试了 google 搜索中的一些代码。但没有任何效果。

 public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.KEYCODE_SPACE){
            Toast.makeText(PrabheshActivity.this, "ssss", Toast.LENGTH_SHORT).show();
        }
        return true;
    }

为什么这不起作用?请帮忙

只需尝试添加 TextWatcher 作为文本输入侦听器,看看是否收到任何 space。检查 space 的 ASCII 码,即 32

例如:

private TextWatcher postTextWatcher = new TextWatcher() {

    private int lastLength;

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        lastLength = s.length();
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        try {
            if (lastLength > s.length()) return;
            if (s.charAt(s.length() - 1) == 32) {
                //32 is ascii code for space, do something when condition is true.
            }
        } catch (IndexOutOfBoundsException ex) {
            //handle the exception
        }
    }

    @Override
    public void afterTextChanged(Editable editable) {
        //do something
    }
};