有一个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的内容如下:
“设置侦听器以通知用户何时关闭SearchView。”
我认为我使用得当,但尚未触发。
有什么想法吗?
答案 0 :(得分:0)
结束了:
In [1]: data
Out[1]:
Clock Value
0 17:37:42 801.0
1 17:37:43 791.0
2 17:37:45 766.0
3 17:37:46 788.0
4 17:37:47 792.0
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.");
}
});
是对 SearchView的关闭btn的实际引用。
如果您手动设置onClickListener,它将起作用。