我是android的初学者 我下载了样本SoftKeyboard的源代码
https://android.googlesource.com/platform/development/+/master/samples/SoftKeyboard/
并在android studio中运行它 一切都很好....但是
- 当键入字母/字母,并切换到符号键盘,然后键入数字时,前一个字母/字母键入已删除。
如何解决这个问题...
答案 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);
}