从片段中获取软键盘的击键

时间:2019-09-18 13:20:21

标签: android android-edittext android-softkeyboard keystroke inputmethodmanager

我有一个活动,该活动会启动一个片段,其主要目的是向用户显示一个Imagebutton,用户可以单击该按钮来启动软键盘并键入所需的任何文本。我需要抓住软键盘上按下的每个键。但是,用户未在EditText视图中输入内容,因此我为此感到困惑。当用户使用以下代码单击ImageButton时,我可以成功显示软键盘。

InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);

但是,我没有找到一个示例或方法让我无需EditText就可以从软键盘中捕获击键。我认为这一定有可能实现,只是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

如果您实现自己的InputMethodService,也许有帮助?您可以覆盖onUpdateSelection()方法,该方法每次在软键盘上触摸键时都会调用。