Tengo un cuadro de diálogo de alerta con un editor de texto. Para este Edittext hago aparecer el teclado y quiero que cuando el usuario presione ok o cancel para ocultar el teclado. El extraño problema es que cuando el usuario elige "ok", el teclado está oculto, pero cuando elige "cancelar" el teclado no oculta un "estoy usando el mismo código para ambos casos".Ocultar teclado en AlertDialog
Aquí está mi código:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(data);
final EditText input = new EditText(this);
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(25);
input.setFilters(FilterArray);
input.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(input, 0);
}
},200);
alert.setView(input);
alert.setPositiveButton(ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
text = input.getText().toString().trim();
Canvas c = new Canvas(bitmapResult);
drawTextImage(bitmapResult);
saveimage();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.setNegativeButton(cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
saveimage();
InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.show();
dónde está mi mystake? ¿Alguien puede ayudarme?
He estado buscando por todas partes para el código que obligaría al teclado para mostrar en el cuadro de diálogo para una EDITTEXT. Quién sabía que tenía que retrasarlo unos pocos milisegundos primero. ¡Gracias! – electrichead
Una buena solución para mostrar el teclado :) Tuve uno que no funcionaba para versiones inferiores de Android, pero el suyo es genial. La demora incluso se puede sentir como animación;) – Poutrathor