我想在我的代码中使用KEYCODE_SEARCH
触发ADB
事件。当我执行此命令时,我无法在键盘中看到任何操作。但如果我给"adb shell input keyevent KEYCODE_1"
它是完美的。请使用ADB
向我提供任何解决方案来解决搜索事件。
我目前的代码就像。
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
performSearch();
return true;
}
return false;
}
});
<EditText android:imeOptions="actionSearch"
android:inputType="text"/>
感谢。
答案 0 :(得分:9)
设置android:imeOptions="actionSearch"
不会使您的修改文字能够接收KEYCODE_SEARCH
个事件。
android:imeOptions
您可以在与编辑器关联的IME中启用的其他功能 改善与您的应用程序的集成。常数在这里 对应于imeOptions定义的那些。
如果您想接收亚行发送的KEYCODE_SEARCH
,则需要覆盖onKeyDown
中的Activity
并手动拨打onEditorAction
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_SEARCH){
editText.onEditorAction(EditorInfo.IME_ACTION_SEARCH);
return true;
}else{
return super.onKeyDown(keyCode, event);
}
}
请注意,其他应用在发送KEYCODE_SEARCH
事件时不会触发搜索,只会将焦点放在搜索框上