繁体   English   中英

Android:没有接收密钥的EditText的KeyListener

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM