2011-08-08 4 views

Respuesta

0

escenarios posibles:

1) En clic en el EditarTexto, por lo general el teclado aparece. 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); 
24

Bien, 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).

Me di cuenta de algo extraño que cuando hice clic en EditText no podía abrir el teclado, presioné el botón ATRÁS para mostrar un cuadro de diálogo de alerta y luego lo cancelé (cerré) y de nuevo hice clic en EditText, ahora el teclado volvió a la vida.

Desde que puedo concluir que el teclado mostrará siempre para el EditarTexto si el EditarTexto no previamente propio enfoque (que muestra un diálogo de alerta sobre la vista EditarTexto hará que el EditarTexto perder el foco).

Así que llame a la función de abajo en su EditarTexto cuando se lleva a delante:

mEditText.clearFocus(); 

o

parentViewThatContainsEditTextView.clearFocus(); 
2

En mi caso fue en un PopupWindow y simplemente necesita llamar popupWindow.setFocusable(true)

3

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); 
       } 
      }); 
     } 
    } 
}); 

código está basado en el siguiente enlace:

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

7

tuve un problema similar en el Galaxy S3 (que muestra EditarTexto controla en un PopupWindow - el teclado no se muestra). Esto resolvió mi problema:

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

yo no quiero perder una EditarTexto enfoque utilizando editText.clearFocus(). Llegó a esta solución.

@Override 
public void onResume() { 
    super.onResume(); 

    if (Build.VERSION.SDK_INT < 11) { 
     editText.clearFocus(); 
     editText.requestFocus(); 
    } 
} 
1

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); 
    } 
} 
+0

Sí, pero con el enfoque obtendrás comportamientos inesperados. Por ejemplo, si haces un fondo de tu aplicación mientras IMM es forzada, permanecerá abierta, incluso en la pantalla de inicio. :) – worked

Cuestiones relacionadas