我需要一个监听器来检测我的活动上的用户交互,该活动上附有一个片段,我已经覆盖了diapatchTouchEvent()
,这对于触摸事件和硬键事件很有效,但它不起作用软键盘按键。
要拦截键盘触摸事件,我已尝试onUserInteraction()
,dispatchKeyEvents()
,onKeyUp
,onKeyDown
,但它们都不适用于软键盘。
有没有其他方法可以拦截Android中的软键盘事件?
对于上述查询,我已经浏览了这些链接:
https://stackoverflow.com/a/25620981/3954050
Android SoftKeyboard onKeyDown/Up not detecting 'alternative' keys
答案 0 :(得分:1)
如果要拦截键盘事件,如已完成,或搜索或输入等,请在编辑文本中添加类似
的imeOption<EditText
..../
android:id="@+id/myEditText"
android:imeOptions="actionSearch"/>
将EditorActionListener添加到该编辑文本中。
myEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_SEARCH){
//Do something
}