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
}
};
我想在 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
}
};