У меня есть приложение для видеоплеера, в котором вы можете искать видео. Мой видеоплеер - это просто представление, которое я скрываю и показываю всякий раз, когда пользователь фактически воспроизводит видео.

Я реализовал поиск как пункт меню SearchView, который передает фрагмент. Когда вы нажимаете на видео, отображается окно видеопроигрывателя и воспроизводит такое видео. Если вы нажмете затем кнопку «Назад», видеоплеер должен быть закрыт.

Вместо этого Android использует мое обратное нажатие в качестве триггера, чтобы сначала свернуть просмотр поиска на панели действий, а затем при втором нажатии я могу поймать метод onBackPressed в моем действии, чтобы закрыть видео.

Как я могу подключиться до того, как действие будет свернуто, чтобы я мог отключить его и закрыть свой видеоплеер при первом нажатии?

4
MichelReap 13 Мар 2018 в 14:59

2 ответа

Лучший ответ

Я думаю, что правильный способ сделать это - добавить MenuItem.OnActionExpandListener к вашему SearchView элементу.

Вот так:

searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() {

    @Override
    public boolean onMenuItemActionExpand(MenuItem item) {
        return true;
    }

    @Override
    public boolean onMenuItemActionCollapse(MenuItem item) {
        // return true if the item should collapse, false if collapsing should be suppressed.
        return false;
    }
});

Вы можете просмотреть официальную ссылку на класс интерфейса здесь

7
Sarthak Mittal 19 Мар 2018 в 19:50

При событии клика добавьте первую строку как searchView.setIconified(false);

0
Rishabh Saxena 19 Мар 2018 в 12:03