Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何识别键盘上的空白_Android_Whitespace_Keypress_Android Keypad - Fatal编程技术网

Android 如何识别键盘上的空白

Android 如何识别键盘上的空白,android,whitespace,keypress,android-keypad,Android,Whitespace,Keypress,Android Keypad,在EditText框中键入文本时,我想确定从键盘上按下了哪个键。我正在使用此代码,但它不起作用 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_SPACE) { Toast.makeText(MainActivity.this, "White sp

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);
}

我哪里出错了?

试试这个,它可能会对你有所帮助

boolean userPressedKey = false ;

yourEditText.addTextChangedListener(new TextWatcher() {
    public void afterTextChanged(Editable s) {
        userPressedKey = false ;
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        userPressedKey = true;
    }); 


public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (userPressedKey) {
        if (keyCode == KeyEvent.KEYCODE_SPACE) {
    Toast.makeText(MainActivity.this, "White space is clicked", Toast.LENGTH_LONG).show();
            return true;
        }
    }
    super.onKeyDown(keyCode, event);
}

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


}

我在EditText中输入数据,现在我想要的是当用户点击空格键时,新单词以一个特殊字符开头,如“$”。这就是编辑文本中空格后的每个单词的第一个字母都应该是“$”。若键盘提供建议,则在按下空格时,它会显示建议。查看此链接。这个问题出现了。
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();
        }
    }

});