Android 编辑文本OnKeyDown
我以编程方式声明了一个EditText(即不是XML),并希望对其应用OnKeyDown处理程序。显示的代码不起作用。上下文是,我试图从键盘捕获一个短字符串,它不应该包括控制字符(我从回车键开始)。也许有更好的办法 谢谢Android 编辑文本OnKeyDown,android,Android,我以编程方式声明了一个EditText(即不是XML),并希望对其应用OnKeyDown处理程序。显示的代码不起作用。上下文是,我试图从键盘捕获一个短字符串,它不应该包括控制字符(我从回车键开始)。也许有更好的办法 谢谢 public EditText ttsymbol; /** Called when the activity is first created. */ @Override public boolean onKeyDown(int keyCode, KeyEve
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;
}
必须将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;
}
});
谢谢,这对我来说很好,但对编译器来说不太好:在这个令牌之后应该出现令牌“setonKeyListener”VariableDeclaratorId上的语法错误。您是否使用:
ttsymbol=new EditText(context)
?在此之后,您应该能够添加onKeyListener。只需将“myEditText”替换为您的姓名,例如“ttsymbol”<代码>公共EditText ttsymbol=新的EditText(getBaseContext());tsymbol.setOnKeyListener(新的OnKeyListener(){标记“setOnKeyListener”上的语法错误,=您在评论中编写了tsymbol.setOnKeyListener
而不是ttsymbol.setOnKeyListener
此标记后应为,我发布的示例对我很好。请记住,此方法仅保证适用于硬件键盘,软件键盘没有义务释放这些事件