Как заставить работать SearchView.setOnCloseListener?

203
27 июня 2017, 22:20

Требуется в коде отследить закрытие строки поиска — SearchView. Открытие отслеживаю с помощью setOnSearchClickListener, данный метод не вызывает проблем, но отслеживание закрытия не работает. Ниже приведен код слушателя для закрытия SearchView:

searchView.setOnCloseListener(new SearchView.OnCloseListener() {
    @Override
    public boolean onClose() {
        Toast toast = Toast.makeText(getApplicationContext(),"Закрыто", Toast.LENGTH_SHORT);
        toast.show();
        return false;
    }
});

В интернете нашел примеры с использованием методов onMenuItemActionExpand и onMenuItemActionCollapse, но это не то, что нужно. Можете подсказать как сделать нормальный слушатель закрытия SearchView с помощью метода, представленного в документации Google?

Answer 1

Убетитесь что у вашего меню item-a выставлен атрибут app:showAsAction="always", должно быть так

<item
    android:id="@+id/action_search"
    android:icon="@drawable/ic_action_search"
    android:title="Search"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="always"/>
READ ALSO
Красивый код по которому можно понимать основы Java, паттернов [требует правки]

Красивый код по которому можно понимать основы Java, паттернов [требует правки]

Пропустим алгоритмыЯ понял уже принцип работы this, super, модификаторов доступа, конструкторов, объектов, методов

246
Как добавить web модуль в проект Eclipse?

Как добавить web модуль в проект Eclipse?

Объясните пожалуйста, как adapter servers в Eclipse распознаёт web проекты! Например когда я создаю Spring MVC Project захожу на homejsp во вкладке Run As можно выбрать...

290
Слушатель на текстуру/кнопку

Слушатель на текстуру/кнопку

Добрый день, копался в гугле и так и не понял, как мне поставить слушатель на текстуру или просто сделать кнопку(с текстурой) и при нажатии...

170