我想建立一个即时搜索视图,只要用户输入任何内容,就会立即在相同的布局中显示搜索结果。所以我谷歌搜索并决定使用onQueryTextChange来实现它。但是,我无法弄清楚如何“触发”按下ENTER将导致的正常结果的意图,告诉我的Activity
有一个事件,用户在searchview和你输入了一些东西({{1应该处理它。
有什么想法可以提供帮助吗?
答案 0 :(得分:0)
如果我理解你是正确的,你想要识别KEY_EVENT
(ENTER)。我最终将自定义EditText
样式设置为原始SearchView
,然后使用OnEditorActionListener
:
queryEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
(event != null && event.getKeyCode()==KeyEvent.KEYCODE_ENTER)) {
performSearch();
return true;
}
return false;
}
});
SearchView
没有setOnEditorActionListener
方法,这就是我使用简单EditText
注意{if}中的EditorInfo.IME_ACTION_SEARCH
选项,您可以使用放大图标而不是Enter键请求“特殊”键盘布局(但请记住,并非所有键盘都支持此选项,自定义键盘应用可能会显示“通常”键盘布局)
android:inputType="text|textNoSuggestions"
android:imeOptions="actionSearch"