2009-12-16 5 views
25

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

@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

Когда нажмите на кнопку назад отображает пустой actiivty alt text

+0

Должно быть 'return true ', в первом случае. – yanchenko

ответ

60
@Override 
public boolean onSearchRequested() { 

    // your logic here 

    return false; // don't go ahead and show the search box 
} 
+0

спасибо, что он работает. –

+0

Я рад это слышать. если вы довольны ответом, отметьте его как «принятый», отметив значок принятия под символами голосования, чтобы другие пользователи могли видеть, что эта проблема решена. –

+2

Почему не рекомендуется переопределять поведение кнопки поиска? – binnyb

0

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

Смежные вопросы