2009-12-16 9 views
25

Sto usando seguente codice per avviare l'attività quando l'utente preme il pulsante di ricerca sul ricevitoreutente avviare Android attività definite sul pulsante di ricerca premuto @ portatile

@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); 
    } 
} 

Ma qui ci sono alcuni problemi con esso si prega di guardare l'immagine seguente .

Quando premere il tasto di ricerca che prima casella di ricerca spettacolo Google in alto di attività quindi avviare attività che voglio iniziare

alt text

Quando click sul display pulsante posteriore actiivty vuoto alt text

+0

Dovrebbe essere 'return true;' nel primo caso. – yanchenko

risposta

60
@Override 
public boolean onSearchRequested() { 

    // your logic here 

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

grazie mille funziona. –

+0

sono felice di sentirlo. se sei soddisfatto di una risposta, contrassegnala come "accettata", spuntando l'icona di accettazione sotto i simboli di voto, in modo che gli altri utenti possano vedere che questo problema è stato risolto. –

+2

perché non si consiglia di sovrascrivere il comportamento del pulsante di ricerca ?! – binnyb

0

Il pulsante Cerca e la richiesta di ricerca del sistema funzionano allo stesso modo quando invocati da qualsiasi attività della tua app. Se si desidera eseguire l'override, è necessario sovrascriverlo per OGNI attività in cui si desidera che funzioni allo stesso modo. Sfortunatamente, non c'è modo di sovrascriverlo "globalmente", né un modo per sottoclasse/stile/tema per il popup di ricerca predefinito. Così triste, google.

Problemi correlati