示例SoftKeyboard在键入数字时删除字母

时间:2015-12-25 17:27:56

标签: java android

我是android的初学者 我下载了样本SoftKeyboard的源代码

https://android.googlesource.com/platform/development/+/master/samples/SoftKeyboard/

并在android studio中运行它 一切都很好....但是

- 当键入字母/字母,并切换到符号键盘,然后键入数字时,前一个字母/字母键入已删除。

如何解决这个问题...

1 个答案:

答案 0 :(得分:1)

handleCharacter()中的SoftKeyboard.java方法存在错误。像这样纠正:

private void handleCharacter(int primaryCode, int[] keyCodes) {
        if (isInputViewShown()) {
            if (mInputView.isShifted()) {
                primaryCode = Character.toUpperCase(primaryCode);
            }
        }
        if (isAlphabet(primaryCode) && mPredictionOn) {
            mComposing.append((char) primaryCode);
            getCurrentInputConnection().setComposingText(mComposing, 1);
            updateShiftKeyState(getCurrentInputEditorInfo());
            updateCandidates();

        }

        //The following line was moved out of the else clause
        getCurrentInputConnection().commitText(
                    String.valueOf((char) primaryCode), 1);
}