OnClose слушатель SearchView никогда не запускается - PullRequest
0 голосов
/ 13 июня 2019

Получил 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 работают хорошо. Однако, когда я нажимаю на маленький X справа от SearchView, представление поиска очищается, но слушатель onClose никогда не запускается.

В официальных документах говорится о setOnCloseListener следующее:

"Устанавливает слушателя в уведомление, когда пользователь закрывает SearchView."

Я думаю, что использую это правильно, , но это не срабатывает.

Есть идеи?

1 Ответ

0 голосов
/ 14 июня 2019

Закончено:

   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, он будет работать.

...