Space Key Click Event в Android - PullRequest
       17

Space Key Click Event в Android

0 голосов
/ 11 октября 2019

Я хочу получить событие пробела на клавиатуре Android. Я попробовал некоторые коды из поисков 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;
    }

почему это не работает? пожалуйста помогите

1 Ответ

0 голосов
/ 11 октября 2019

Просто попробуйте добавить TextWatcher в качестве прослушивателя ввода текста и посмотрите, есть ли у вас пробелы. Проверьте код 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
    }
};
...