如何覆盖Android中的软键盘按键事件?
我需要一个侦听器来检测用户在我的活动上的交互情况,该活动有一个附加到它的片段,为此我已覆盖diapatchTouchEvent()
,该工具对触摸事件和硬键事件工作正常,但不适用于软键盘按键。
为了拦截键盘触摸事件,我尝试了onUserInteraction()
, dispatchKeyEvents()
, onKeyUp
, onKeyDown
但是它们都不适用于softkeyboard。
有没有其他方法来拦截Android中的软键盘事件?
对于上面的查询,我已经通过这些链接:
https://stackoverflow.com/a/25620981/3954050
Android SoftKeyboard onKeyDown / Up未检测到“替代”键
如果你想拦截键盘事件就像完成,或者搜索或输入等,在你的编辑文本中添加一个类似的选项
<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
}
链接地址: http://www.djcxy.com/p/18439.html
上一篇: How to override Soft keyboard keyPress event in android?
下一篇: My xlib code can listen to keyboard events but it fails for some windows