我想构建一个即时搜索视图,一旦用户输入任何内容,它立即在相同的布局中显示搜索结果。所以我用谷歌搜索,并决定使用onQueryTextChange来实现。然而,我无法弄清楚如何按照ENTER键导致的正常结果“触发”意图,告诉我的Activity
有一个事件,即用户在searchview中输入了某些内容,并且您(Activity
)应该处理它。Android:如何在使用`OnQueryTextListener`时按下ENTER键来启动搜索意图?
有帮助吗?
我想构建一个即时搜索视图,一旦用户输入任何内容,它立即在相同的布局中显示搜索结果。所以我用谷歌搜索,并决定使用onQueryTextChange来实现。然而,我无法弄清楚如何按照ENTER键导致的正常结果“触发”意图,告诉我的Activity
有一个事件,即用户在searchview中输入了某些内容,并且您(Activity
)应该处理它。Android:如何在使用`OnQueryTextListener`时按下ENTER键来启动搜索意图?
有帮助吗?
如果我明白你的意思,你想辨认KEY_EVENT
(ENTER)。我已经与风格像原来SearchView
定制EditText
结束,然后使用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
注EditorInfo.IME_ACTION_SEARCH
选项“如果”内,您可以请求使用magnify图标而不是Enter键的“特殊”键盘布局(但请记住,并非所有键盘都支持此选项,并且自定义键盘应用程序可能会显示“常规”键盘布局)
android:inputType="text|textNoSuggestions"
android:imeOptions="actionSearch"