[英]Android: KeyListener for an EditText not receiving keys
我有一个EditText,我想监视KeyEvents,我有一个监听器设置如下:
mText = (EditText) this.findViewById(R.id.title);
mText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
final int view = v.getId();
switch (view) {
case R.id.title:
Log.d(LOG_TAG, "key handled");
break;
}
return false;
}
});
我的问题是,当使用虚拟键盘输入EditText时,触发日志记录的唯一按键是退格键。 我已经验证所有其他按键甚至都没有触发onKey()
。 我确信这很简单,但在SO上找不到任何似乎可以解决的问题。
谢谢,
保罗
尝试使用此处定义的addTextChangedListener(TextWatcher watcher)
,您可以处理物理和软键盘。 我希望它有所帮助
来自Android参考:
http://developer.android.com/reference/android/view/View.OnKeyListener.html
View.OnKeyListener
类概述将硬件键事件调度到此视图时要调用的回调的接口定义。 在将键事件提供给视图之前将调用回调。 这仅适用于硬件键盘; 软件输入方法没有义务触发此监听器。
似乎OnKeyListener专门设计用于仅对HARDWARE键做出反应!
onKeyListener
仅适用于:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
在onCreate
方法中设置它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.