我想知道在EditText
中按下了哪个键。例如,如果按 a ,我想将值设为'a'。我怎么能这样做?
答案 0 :(得分:5)
您可以在EditText上设置onKeyListener()
,并以此方式检索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;
}
}
});
在switch
语句中,只需处理您需要的任何密钥代码。完整列表可在KeyEvent constants。
编辑:请记住,对于验证和类似的事情,正如尼古拉斯所提到的,TextWatcher可能是一个更好的解决方案,如果您需要知道输入了什么字符(例如'A'与'a',如同你必须在关键监听器中处理移位键是否处于活动状态的逻辑。如果您只需要知道按下了什么键,我建议使用OnKeyListener。
答案 1 :(得分:1)
在这里看看我的答案: