¿Cómo puedo abrir y cerrar el teclado virtual (soft-keyboard)?

publicado por: Anonymous

Quiero mostrar el teclado virtual (soft-keyboard) para algún EditText que tiene focus y que ha sido obtenido programáticamente (sin que haya sido presionado). Y cerrarlo cuando ocurre algún evento como presionar un Button en la pantalla.

solución

Para mostrar el teclado virtual (soft-keyboard) forzadamente, se puede usar:

EditText editText= (EditText) findViewById(R.id.editText);
editText.requestFocus(); //Asegurar que editText tiene focus
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);

Sin embargo, si se quiere quitar el focus de editText es necesario que otra View obtenga el focus. Así que si no se tiene otra View habrá que crear otra View vacía y darle el focus a ella.


Para cerrar el teclado virtual, se puede usar:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *