我已经以编程方式声明了EditText(即不是XML格式),并且想要对它应用OnKeyDown处理程序。显示的代码不起作用。上下文是,我正在尝试从键盘捕获一个短字符串,该字符串不应包含控制字符(我已经用Enter键开始)。也许有更好的方法?
谢谢!
public EditText ttsymbol;
/** Called when the activity is first created. */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
// IGNOREenter key!!
return true;
}return false;
}
答案 0 :(得分:15)
您必须将onKeyListener绑定到editText。
myEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction()==KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
//do something here
return true;
}
return false;
}
});