单击数字

时间:2017-06-15 17:29:07

标签: android android-softkeyboard soft-keyboard

我正在尝试实现自定义软键盘行为并遇到问题。我重写onCreateInputConnection()和扩展BaseInputConnection类。现在我希望在单击一个键时调用方法commitText(),除非单击数字键,否则它会执行。数字键直接转到sendKeyEvent()方法。有没有办法像任何其他键一样处理数字键?感谢。

这是onCreateInputConnection方法实现。没什么特别的。

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
    outAttrs.inputType = InputType.TYPE_CLASS_NUMBER;
    outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE;
    return new BaseInputConnection(this, true) {
        @Override
        public Editable getEditable() {
            return editable;
        }

        @Override
        public boolean commitText(CharSequence text, int newCursorPosition) {
            return super.commitText(text, newCursorPosition);
        }

        @Override
        public boolean sendKeyEvent(KeyEvent event) {
            return super.sendKeyEvent(event);
        }
    };
}

0 个答案:

没有答案