0

Я пытаюсь поймать события click для кнопки nav в моем ActionBar. Этот метод ловит большинство кликов:Как прослушивать события кликов для кнопки навигации ActionBar при видимости SearchView?

@Override 
public boolean onOptionsItemSelected(MenuItem menuItem) { 
    if (menuItem.getItemId() == android.R.id.home) { 
     // Nav button pressed. Do stuff here. 
     return true; 
    } 

    return super.onOptionsItemSelected(menuItem); 
} 

Однако это не вызывается, когда мой SearchView виден. В этом состоянии нажатие кнопки закрывает SearchView. Нажатие на него снова вызывает обратный вызов выше.

Этого недостаточно для меня. Моя деятельность (которая простирается от ActionBarActivity) предназначена для поиска, поэтому закрытие SearchView не имеет смысла. Я просто хочу перейти от пользователя к первому щелчку. (Пожалуйста нет комментариев о UX или «почему» я хочу, чтобы изменить поведение по умолчанию. У меня есть спецификации, чтобы следовать!)

Заранее спасибо ...

ответ

1

Чтобы знать, когда пользователь закрыл SearchView вы можете проверьте, что пункт меню свернут: