Tengo un searchView en la barra de acciones. Quiero descartar el teclado cuando el usuario haya terminado con la entrada. He queryTextListener el siguiente en la SearchVIEW¿Cómo descartar el teclado en Android SearchView?
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
// Do something
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
showProgress();
// Do stuff, make async call
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
return true;
}
};
Sobre la base de preguntas similares, el siguiente código debe ocultar el teclado, pero no funciona en este caso:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
También he intentado :
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
Ninguno de los dos funciona. No estoy seguro de si este es un problema específico de Honeycomb o si está relacionado con la búsqueda en la barra de acciones, o ambas cosas. ¿Alguien ha conseguido esto funcionando o sabe por qué no funciona?
donde se '' query'' define en '' onCreateOptionsMenu''? –
..que es la cadena de consulta que se define en otro lugar. lo editaré. Esa línea tampoco es necesaria, solo si desea completar previamente la consulta y el segundo argumento (falso) impide que ejecute la consulta. – bkurzius
¡Muchas gracias! searchView.clearFocus() es la parte que falta hasta ahora – satyadeepk