android - quitar - El teclado suave aparece en EditText focus SOLO una vez
quitar focus edittext android (4)
Trate de abrir y ocultar dentro de un Runnable como,
ABRIR
ettext.requestFocus();
ettext.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(ettext, 0);
}
},200);
CERRAR
ettext.requestFocus();
ettext.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.hideSoftInputFromWindow(ettext.
getWindowToken(), 0);
}
},200);
Gracias por leer.
Me enfrento a un problema extraño: el comportamiento de mi aplicación es tal que cuando se inicia la Activity , requestFocus() en un EditText y muestro el teclado EditText .
Sin embargo, cuando EditText el botón Atrás para descartar el teclado y tocar el texto de EditText , no vuelvo a EditText el teclado. La única salida es volver a iniciar la Activity .
Así es como se ve mi código:
EditText editText = (EditText) findViewById(R.id.editText);
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null) {
imm.toggleSoftInput(0, 0);
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
}
Y aquí está mi XML:
<EditText android:id="@+id/editText"
android:layout_width="wrap_content"
android:imeOptions="actionSearch" android:hint="Test Hint"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:maxLength="30">
</EditText>
Cualquier ayuda sería muy apreciada!
¡Gracias!
Usó esta codificación en su Actividad, this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); su teclado this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Usaste la vista incorrecta para mostrar la ventana de entrada.
EditText editText = (EditText) findViewById(R.id.editText);
editText.requestFocus();
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null) {
imm.showSoftInput(editText, 0);
}
prueba esto:
final InputMethodManager imm = (InputMethodManager)EnterWordsActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null)
{
imm.toggleSoftInput(YOUE_EDTITE_TEXT.SHOW_FORCED,1);
}