Android запускает пользовательскую активность при нажатии кнопки поиска @ трубка - PullRequest
25 голосов
/ 16 декабря 2009

Я использую следующий код для запуска активности, когда пользователь нажимает кнопку поиска на телефоне

@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 в верхней части действия, затем начинается действие, которое я хочу начать

alt text

При нажатии на кнопку возврата отображается пустая активность alt text

Ответы [ 2 ]

60 голосов
/ 16 декабря 2009
 @Override
 public boolean onSearchRequested() {

     // your logic here

     return false;  // don't go ahead and show the search box
 }
0 голосов
/ 30 января 2013

Кнопка поиска и системный поисковый запрос работают одинаково при вызове из любой активности вашего приложения. Если вы хотите переопределить его, вам придется переопределить его для КАЖДОГО действия, с которым вы хотите, чтобы оно работало одинаково. К сожалению, нет способа переопределить его «глобально», а также нет способа создать подкласс / стиль / тему для всплывающего окна поиска по умолчанию. Так грустно, Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...