Teclado no se muestra cuando hago clic en edittextview en android?

Cuando hago clic en edittextview, algunas veces el teclado que se muestra o algunas veces el teclado no se muestran.

En Android 2.1 muestra el teclado cuando hago clic en edittextview

pero cuando inicio la misma aplicación en Android 2.2, entonces no muestra el teclado.

Ayudame a mostrar ese problema

OK, esta podría ser una respuesta tardía, pero funcionó.

He encontrado este problema en Android 2.1 y 2.3.x (no probado en otras versiones de SDK).

Noté una cosa extraña que cuando mi clic en EditText no podía abrir el teclado, presioné el botón BACK para mostrar un cuadro de diálogo de alerta y luego lo cancelé (cerré) y luego hice clic en EditText nuevamente, ahora el teclado fue llevado a vida otra vez

De eso puedo concluir que el teclado siempre se mostrará para EditText si EditText no posee foco previamente (mostrar un diálogo de alerta sobre la vista EditText hará que EditText pierda el foco).

así que llame a la función a continuación en su EditText cuando se traiga al frente:

mEditText.clearFocus(); 

o

 parentViewThatContainsEditTextView.clearFocus(); 

Tuve un problema similar en Galaxy S3 (que mostraba los controles EditText en una ventana emergente, el teclado nunca se mostraba). Esto resolvió mi problema:

 final PopupWindow popUp = new PopupWindow(vbl.getMainLayout()); [....] popUp.setFocusable(true); popUp.update(); 

No quería que EditText perdiera un foco usando editText.clearFocus() . Llegó a esta solución.

 @Override public void onResume() { super.onResume(); if (Build.VERSION.SDK_INT < 11) { editText.clearFocus(); editText.requestFocus(); } } 

aquí hay una posible solución:

 editText.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(final View v, final boolean hasFocus) { if (hasFocus && editText.isEnabled() && editText.isFocusable()) { editText.post(new Runnable() { @Override public void run() { final InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText,InputMethodManager.SHOW_IMPLICIT); } }); } } }); 

el código se basa en el siguiente enlace:

http://turbomanage.wordpress.com/2012/05/02/show-soft-keyboard-automatically-when-edittext-receives-focus/

En mi caso, estaba en una PopupWindow y simplemente necesitaba llamar a popupWindow.setFocusable(true)

Funciona como un amuleto, en caso de que quiera ocultarse al hacer clic en edittextView.

 textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { displayKeyboard(); } }); private void displayKeyboard(){ if (textView != null) { InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInputFromWindow(textView.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); } } 

Posibles escenarios:

1) Al hacer clic en EditText, generalmente aparece el teclado. Pero si presiona el botón de la tecla Atrás en el emulador, el teclado (no el teclado de la pantalla) se atenúa.

2) En el código, puede desactivar el teclado al hacer clic en EditText configurando un indicador.

 InputMethodManager inputmethodmgr= (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputmethodmgr.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);