Java 使用“完成”按钮关闭我的自定义键盘

Java 使用“完成”按钮关闭我的自定义键盘,java,android,ime,android-input-method,Java,Android,Ime,Android Input Method,我正在android studio中为android制作一个自定义键盘,我几乎实现了基本键盘所需的所有基本功能,但我很难找到在按下右下角的“完成”键时如何关闭键盘的方法 android应用程序中的大多数文本框都包含一个imeOption,它指定了完成键要执行的操作,例如google chrome url栏中使用了imeOptions=“actionGo”,要在完成键上进行chrome搜索,我必须使用inputConnection.sendKeyEvent(新的KeyEvent(KeyEvent.

我正在android studio中为android制作一个自定义键盘,我几乎实现了基本键盘所需的所有基本功能,但我很难找到在按下右下角的“完成”键时如何关闭键盘的方法


android应用程序中的大多数文本框都包含一个imeOption,它指定了完成键要执行的操作,例如google chrome url栏中使用了imeOptions=“actionGo”,要在完成键上进行chrome搜索,我必须使用
inputConnection.sendKeyEvent(新的KeyEvent(KeyEvent.action\u UP,KeyEvent.KEYCODE\u ENTER))
使其正常工作,对于android:imeOptions=“actionNone”android:imeOptions=“actionSearch”这一切都很好
inputConnection.sendKeyEvent(新建KeyEvent(KeyEvent.ACTION\u向下,KeyEvent.KEYCODE\u回车))
但是我不知道我应该为
android:imeOptions=“actionNext”
android:imeOptions=“actionDone”
做些什么,这取决于视图的位置。如果它是一个编辑文本,并且是视图层次结构中的最后一个视图,那么您可以设置其视图的android:imeOptions=“actionDone”。这将隐藏键盘。android:imeOptions=“actionNext”如果在任何视图中使用,那么它会将焦点移动到下一个编辑文本(如果有)


我希望我理解你的问题。如果没有,请详细说明。我很乐意提供帮助。

是的,它们就是这样工作的,这些操作(关闭键盘并将焦点切换到下一个视图)由一个名为enter或done的键执行,该键位于任何典型键盘的右下角。我这里的问题是,我正在创建自己的“自定义键盘”,它应该执行以下操作,例如关闭键盘并将焦点切换到对应视图的下一个视图,但我无法在我的“自定义键盘”@RajeshNadar中实现这一点。你能分享你的代码吗?因为这样很容易识别问题。我使用
InputMethodService
作为键盘,使用
OnKeyboardActionListener
监控输入。我正在使用
onKey
函数检查按下的键,并使用inputConnection对象在edittext上执行任务这就是如何完成的
public void onKey(int primaryCode,int[]keyCodes){inputConnection inputConnection=getCurrentInputConnection();if(inputConnection!=null){switch(primaryCode){case Keyboard.KEYCODE_DONE:
@RajeshNadar我无法理解你的问题。如果你能给我代码,我可以直接运行并进行故障排除,那么我该如何将我的项目分享给你呢?