问题描述
|
我想知道在“ 0”中按下了哪个键。例如,如果按下a,我想将值设为\'a \'。我怎样才能做到这一点?
解决方法
您可以在EditText上设置一个“ 1”,然后以这种方式检索KeyCode。例如:
editText.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v,int keyCode,KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_0:
//handle code for pressing 0
break;
default:
break;
}
}
});
在您的“ 3”语句中,只需处理所需的任何键码即可。完整列表可在KeyEvent常量中找到。
编辑:请记住,对于验证和诸如此类的事情,如尼古拉斯所述,如果您需要知道输入了什么字符(例如\'A \'与\'a \',则可能是TextWatcher的首选解决方案,因为您必须处理键盘侦听器中的shift键是否处于活动状态的逻辑)。如果您只需要知道按下了什么键,建议您使用OnKeyListener。
, 在这里看看我的答案:
在Android中验证EditText