SearchView的onClose监听器永远不会运行

时间:2019-06-13 12:37:01

标签: android android-search

有一个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;
}

onQueryTextSubmitonQueryTextChange都运作良好。但是,当我单击SearchView右侧的小X时,搜索视图确实被清除,但是onClose 监听器从不运行。

在官方文档中,有关setOnCloseListener的内容如下:

  

“设置侦听器以通知用户何时关闭SearchView。”

我认为我使用得当,但尚未触发。

有什么想法吗?

1 个答案:

答案 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,它将起作用。