Ответ 1
@Override
public boolean onSearchRequested() {
// your logic here
return false; // don't go ahead and show the search box
}
Я использую следующий код для запуска активности, когда пользователь нажимает кнопку поиска на трубке
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_SEARCH){
Util.startActivity(ReviewsDetail.this, KeywordSearch.class);
return false;
}else{
return super.onKeyUp(keyCode, event);
}
}
Но вот несколько проблем с ним, пожалуйста, посмотрите на следующее изображение.
При нажатии кнопки поиска сначала отобразится окно поиска google в верхней части активности, а затем запустите действие, которое я хочу запустить
При нажатии кнопки "Назад" отображается пустое действие
@Override
public boolean onSearchRequested() {
// your logic here
return false; // don't go ahead and show the search box
}
Кнопка поиска и запрос поиска системы работают одинаково при вызове из любой активности вашего приложения. Если вы хотите переопределить его, вам придется переопределить его для КАЖДОЙ деятельности, с которой вы хотите работать таким же образом. К сожалению, не существует способа переопределить его "глобально", ни способ подкласса/стиля/темы, как всплывающее окно поиска по умолчанию. Так грустно, google.