2012-03-30 21 views
10

Cambiare la tastiera virtuale di Android per mostrare l'icona di ricerca piuttosto che l'icona Invio. La mia domanda è: come posso rilevare che l'utente fa clic su quel pulsante di ricerca?Rileva il tasto di ricerca della tastiera

risposta

22

Nell'editoriale potresti aver utilizzato le opzioni del metodo di input per la ricerca.

<EditText 
     android:imeOptions="actionSearch" 
     android:inputType="text"/> 

ora utilizzare l'ascoltatore Editor sulla EditText per gestire l'evento di ricerca come illustrato di seguito:

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     if (actionId == EditorInfo.IME_ACTION_SEARCH) { 
      // Your piece of code on keyboard search click 
      return true; 
     } 
     return false; 
    } 
}); 
+0

il mio codice non viene eseguito con questo metodo !! non funziona per me – Fcoder

+0

Condividi il tuo codice .. –

+1

"non funziona" non ha mai aiutato nessuno. Essere specifici è la cosa più fantastica! – f2lollpll

0

È possibile utilizzare OnQuerySubmit ascoltatore per ottenere la tastiera Cerca pulsante evento click.

Ecco come,

searchView.setOnQueryTextListener(queryTextListener); 

SearchView.OnQueryTextListener queryTextListener 
     = new SearchView.OnQueryTextListener() { 
    @Override 
    public boolean onQueryTextSubmit(String s) { 
     showLog("searchClickListener onQueryTextSubmit"); 
     getPhotos(searchView.getQuery().toString()); 
     return true; 
    } 

    @Override 
    public boolean onQueryTextChange(String s) { 
     return false; 
    } 
}; 
Problemi correlati