Java 键入数字时删除字母的软键盘示例

Java 键入数字时删除字母的软键盘示例,java,android,Java,Android,我是android的初学者开发者 我下载了软键盘示例的源代码 并在android studio中运行它 一切都很好……但是 -键入字母并切换到符号键盘并键入数字时,先前键入的字母将被删除 如何解决此问题…在SoftKeyboard.java中的handleCharacter()方法中有一个错误。请这样更正: private void handleCharacter(int primaryCode, int[] keyCodes) { if (isInputViewShown()

我是android的初学者开发者 我下载了软键盘示例的源代码

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

-键入字母并切换到符号键盘并键入数字时,先前键入的字母将被删除


如何解决此问题…

SoftKeyboard.java
中的
handleCharacter()
方法中有一个错误。请这样更正:

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);
}

这很好:)现在我还有其他问题-键盘仅适用于android 4.4及以上版本。。。如何使其适用于2.3及以上版本-在任何设备中安装时,如何将键盘设置为默认键盘自动?Android 2.3是API级别9。如果您使用gradle,请将
compileSdkVersion 9
写入您的构建脚本,然后您可以看到哪些类还不适用于2.3。在这种情况下,您需要重写一些代码。学习另一个教程可能会更容易,比如为2.3创建键盘。***安装时不能将其设置为默认值,只有用户可以设置。您只能在iInstallation上向用户显示信息,显示用户如何将其设置为默认值。实际上,您不应该在评论中提问。你应该把它们作为新问题发布在网站上。另外,如果我的帖子解决了你最初的问题,请点击灰色的勾号接受它作为答案。是的,我知道“接受答案”。。。。谢谢你提供关于键盘的信息还有一个问题…你能看看吗?