我想知道在Android中按下了键盘上的哪个键。我进行了很多搜索,但还没有找到正确的答案。我在其中看到了StackOverflow中的一些帖子,但他们没有回答我:
How to listen the keypress in the soft keyboard?
答案 0 :(得分:0)
您可以使用Android提供的TextWatcher API。
这里是answer之一的代码段:
field1.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
if (s.length() != 0)
field2.setText("");
}
});
field2.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
if (s.length() != 0)
field1.setText("");
}
});
编辑1
以下是用于跟踪键盘上所按下的键的模板:
editText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
//You can identify which key pressed buy checking keyCode value with KeyEvent.KEYCODE_
if(keyCode == KeyEvent.KEYCODE_DEL) {
//this is for backspace
}else if(keyCode == KeyEvent.KEYCODE_BACK) {
//this is for backspace
}
return false;
}});