我想确定在EditText框中键入文本时从键盘上按下了哪个键。我正在使用此代码,但无法正常工作。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (keyCode == KeyEvent.KEYCODE_SPACE) {

        Toast.makeText(MainActivity.this, "White space is clicked", Toast.LENGTH_LONG).show();
        return true;
    }

    return super.onKeyDown(keyCode, event);
}


我在哪里弄错了?

最佳答案

您可以尝试以下代码----

editText1.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        // TODO Auto-generated method stub
        String lastChar = s.toString().substring(s.length() - 1);
        if (lastChar.equals(" ")) {
            Toast.makeText(MainActivity.this, "space bar pressed",
                    Toast.LENGTH_SHORT).show();
        }
    }

});


}

07-24 09:47
查看更多