SearchView 的 onClose 侦听器从不运行
SearchView's onClose listener never runs
得到一个SearchView
(androidx,不支持lib)
我添加了合适的监听器,例如:
@Override
public boolean onQueryTextSubmit(String query) {
Toaster.show(this, "onQueryTextSubmit!");
return true;
}
@Override
public boolean onQueryTextChange(String query) {
Toaster.show(this, "onQueryTextChange!");
return true;
}
@Override
public boolean onClose() {
Toaster.show(this, "onClose!");
return true;
}
onQueryTextSubmit
和 onQueryTextChange
都很好。但是,当我单击 SearchView
右侧的小 X 时,搜索视图确实被清除,但 onClose
侦听器从未运行。
在官方文档中,关于 setOnCloseListener 的内容如下:
"Sets a listener to inform when the user closes the SearchView."
我觉得我用得好,但没有触发。
有什么想法吗?
结束:
View searchViewsCloseBtn = searchView.findViewById(R.id.search_close_btn);
searchViewsCloseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toaster.show(myContext, "I hate this platform.");
}
});
"R.id.search_close_btn"
是对 SearchView 的关闭按钮的实际引用。
如果您手动设置 onClickListener,它会起作用。
得到一个SearchView
(androidx,不支持lib)
我添加了合适的监听器,例如:
@Override
public boolean onQueryTextSubmit(String query) {
Toaster.show(this, "onQueryTextSubmit!");
return true;
}
@Override
public boolean onQueryTextChange(String query) {
Toaster.show(this, "onQueryTextChange!");
return true;
}
@Override
public boolean onClose() {
Toaster.show(this, "onClose!");
return true;
}
onQueryTextSubmit
和 onQueryTextChange
都很好。但是,当我单击 SearchView
右侧的小 X 时,搜索视图确实被清除,但 onClose
侦听器从未运行。
在官方文档中,关于 setOnCloseListener 的内容如下:
"Sets a listener to inform when the user closes the SearchView."
我觉得我用得好,但没有触发。
有什么想法吗?
结束:
View searchViewsCloseBtn = searchView.findViewById(R.id.search_close_btn);
searchViewsCloseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toaster.show(myContext, "I hate this platform.");
}
});
"R.id.search_close_btn"
是对 SearchView 的关闭按钮的实际引用。
如果您手动设置 onClickListener,它会起作用。