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