2012-09-27 19 views
6

Estoy usando un searchView y trato de pasar algunos datos cuando alguien invoca una búsqueda. Así que eliminé el método onSearchReqested. El problema es que este método no se invoca cuando alguien ingresa el SearchView y presiona la lupa del teclado. En cambio, la actividad resultante se inicia.cómo llamar a SearchRequested al presionar la lupa

¿Cómo puedo llamar al método onSearchRequested antes de iniciar la actividad del resultado cuando alguien presiona la lupa.

intenté este dos pero no funcionó.

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.FLAG_EDITOR_ACTION) { 
     onSearchRequested(); 
     return false; 
    } 
    return false; 
} 

adición de un oyente a la SearchView tampoco funcionó

searchView.setOnSearchClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     onSearchRequested(); 

    } 
}); 

Gracias de antemano por la ayuda.

Respuesta

9

setOnQueryTextListerner finalmente funcionó

searchView.setOnQueryTextListener(new OnQueryTextListener() { 

    @Override 
    public boolean onQueryTextSubmit(String query) { 
     onSearchRequested(); 
     return false; 
    } 

    @Override 
    public boolean onQueryTextChange(String newText) { 
     // TODO Auto-generated method stub 
     return false; 
    } 
}); 
Cuestiones relacionadas