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