Сбросить панель действий после использования SearchView

Я использую виджет SearchView, чтобы включить поиск в своем приложении. После первоначального щелчка по значку поиска виджет SearchViewразворачивается в поле поиска, а рядом со значком приложения отображается стрелка «назад». Если я щелкну значок приложения, панель действий вернется в исходное состояние (без стрелки «назад» ), а SearchViewвернется к значку.

Теперь проблема :после выполнения поиска панель действий не меняется, единственный способ вернуться - щелкнуть значок приложения или стрелку "назад" телефона. Нехорошо, так как я хочу, чтобы панель действий перешла в исходное состояние после завершения поиска. Я попробовал SearchView.setIconofied(true), но есть 2 проблемы.:

  1. Значок поиска появляется в том же месте, что и поле редактирования (, первоначально он был крайним справа ).
  2. На панели действий по-прежнему отображается стрелка «назад».

Я думаю, что проблема, с которой я столкнулся, связана с отклонением от обычного шаблона навигации. В моем случае все происходит внутри одного и того же действия (, результаты поиска отображаются в том же действии, в котором находится панель действий ), поэтому, например, выполнение Activity.finish()просто приводит к закрытию приложения.

Как вызвать функцию «вернуться на один шаг назад» на панели действий?Или имитировать клик по иконке приложения?

11
задан Bostone 27 March 2013 в 18:58
поделиться