我正在设计一个Android键盘,并且很难从键盘启动一个动作命令。
当我在我的设备上使用互联网并在键入网站后按输入,而不是转到新页面时,会显示一个空格并且不会执行任何操作。我不确定在按下时如何使我的 enter 键成为操作键。
以下是我认为应该更改的代码:
@Override
public void onKey(int primaryCode, int[] keyCodes) {
InputConnection ic = getCurrentInputConnection();
switch (primaryCode) {
case Keyboard.KEYCODE_SHIFT:
handleShift();
break;
case 10:
//Initiate enter event or new line depending on program being used
break;
}
}
任何帮助都将不胜感激。
答案 0 :(得分:1)
好的,感谢乔治·拉佩尔 - 我被送往了正确的方向。我在在线android源代码中找到了我的解决方案 - 为此进行了一些搜索。下面是ENTER的代码 - 其中ENTER是值10。
case ENTER:
final EditorInfo editorInfo = getCurrentInputEditorInfo();
final int imeOptionsActionId = InputTypeUtils.getImeOptionsActionIdFromEditorInfo(editorInfo);
if (InputTypeUtils.IME_ACTION_CUSTOM_LABEL == imeOptionsActionId) {
// Enter used as submission
ic.performEditorAction(editorInfo.actionId);
} else if (EditorInfo.IME_ACTION_NONE != imeOptionsActionId) {
// Not quite sure what this is for
ic.performEditorAction(imeOptionsActionId);
} else {
// Enter being used as text
ic.commitText(String.valueOf((char) primaryCode), 1);
}
break;
我还从在线android存储库中找到的类InputTypeUtils.java
复制了必要的方法。
答案 1 :(得分:0)