【发布时间】:2021-12-12 01:57:35
【问题描述】:
我将 android 软键盘更改为显示搜索图标而不是 Enter 图标。我的问题是:我怎样才能检测到用户点击了那个搜索按钮?
【问题讨论】:
标签: java android android-edittext android-softkeyboard
我将 android 软键盘更改为显示搜索图标而不是 Enter 图标。我的问题是:我怎样才能检测到用户点击了那个搜索按钮?
【问题讨论】:
标签: java android android-edittext android-softkeyboard
在编辑文本中,您可能使用了输入法选项进行搜索。
<EditText
android:imeOptions="actionSearch"
android:inputType="text"/>
现在使用 EditText 上的 Editor 监听器来处理搜索事件,如下所示:
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
// Your piece of code on keyboard search click
return true;
}
return false;
}
});
【讨论】:
您可以使用OnQuerySubmit监听器获取键盘搜索按钮点击事件。
方法如下,
searchView.setOnQueryTextListener(queryTextListener);
SearchView.OnQueryTextListener queryTextListener
= new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
showLog("searchClickListener onQueryTextSubmit");
getPhotos(searchView.getQuery().toString());
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
};
【讨论】: