【发布时间】:2017-03-29 17:39:35
【问题描述】:
我正在尝试检查以下情况:
keyCode = event.getKeyCode();
Log.e("key",keyCode+"");
if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN)
//logic
在日志窗口中,'keyCode' 没有得到任何键盘代码,除了来自 KEYCODE_DEL 的值为 67 但只有在 EditText 为空时才这样做!
editTextPrincipal.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
keyCode = event.getKeyCode();
Log.e("key",keyCode+"");
if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN){
usuarioDeletouCaracter = true;
return usuarioDeletouCaracter;
}
return usuarioDeletouCaracter;
}
});
editTextPrincipal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!usuarioDeletouCaracter){
editTextPrincipal.addTextChangedListener(textWatcher);
}else{
Toast.makeText(getApplicationContext(), "O usuario apagou", Toast.LENGTH_SHORT).show();
}
}
});
无论在键盘上的哪个键被按下,日志窗口上的键码都应该返回她的值,但这不会发生 =\
【问题讨论】:
标签: android logging keyboard key hardware