繁体   English   中英

Android-有没有一种方法可以为软键盘触发onKeyListener?

[英]Android - Is there a way to trigger onKeyListener for the soft keyboard?

开发人员参考提到OnKeyListener仅适用于硬件键事件:

“将硬件按键事件发送到此视图时要调用的回调的接口定义。该回调将在将按键事件分配给该视图之前被调用。这仅对硬件键盘有用;软件输入法没有义务触发此侦听器。”

但是我想知道是否可以通过软键盘来触发它? 我知道它确实会触发某些设备,但是并不一致。

更新9/12/2013
看来我的旧答案仅适用于某些软键盘,而不适用于其他软键盘。 我试图四处寻找替代方案,却找不到任何能始终如一地工作的东西。 最后,我制作了一个自定义键盘。 幸运的是,我只需要键盘数字即可轻松创建。 我按照本指南介绍了如何创建自定义键盘。
http://www.fampennings.nl/maarten/android/09keyboard/index.htm

旧答案
我四处搜索,似乎无法用onKeyListener监听软键盘上的键。 但是,我只能扩展EditText并重写onKeyUp(),效果很好。

public class CustomEditText extends EditText
{
    public CustomEditText(Context context)
    {
        super(context);
    }

    public CustomEditText(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }

    public CustomEditText(Context context, AttributeSet attrs, int defStyle)
    {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event)
    {
        // Intercept keys here
        return super.onKeyUp(keyCode, event);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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