tapar - teclado tapa edittext android
Mostrar teclado virtual cuando comienza la actividad (8)
Archivo: AndroidManifest.xml
<activity android:name=".MainActivity">
Agregue la siguiente propiedad:
android:windowSoftInputMode="stateVisible"
Lo cual funcionó para mí.
Tengo 2 actividades, A y B. Cuando A se inicia, comprueba si hay alguna condición y si es verdadera, llama a startActivityForResult()
para iniciar B. B solo startActivityForResult()
entrada de texto, por lo que tiene sentido que el teclado startActivityForResult()
automáticamente cuando B comienzo. Cuando comienza la actividad, EditText ya tiene el foco y está listo para la entrada.
El problema es que el teclado nunca aparece, incluso con windowSoftInputMode="stateAlwaysVisible"
establecido en el manifiesto debajo de la etiqueta <activity>
para B. También intenté con el valor establecido en stateVisible
. Como no aparece automáticamente, tengo que tocar EditText para que se muestre.
¿Alguien sabe cuál podría ser la solución?
La solución más fácil: poner
android:windowSoftInputMode = "stateVisible"
en la sección Actividad de AndroidManifest.xml
Lo que funcionó mejor para mí es el Manifiesto de Android para la adición de la actividad B
android:windowSoftInputMode="stateVisible"
Espero que te ayude también.
Para mí, solo trabajé con estas soluciones: agregar el manifiesto para esa actividad:
android:windowSoftInputMode="stateVisible|adjustPan"
Pruebe algo similar a esto:
public void onResume() {
super.onResume();
TimerTask tt = new TimerTask() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourTextBox, InputMethodManager.SHOW_IMPLICIT);
}
};
final Timer timer = new Timer();
timer.schedule(tt, 200);
}
Si está utilizando un emulador, debe apagar el teclado duro para que se muestre el teclado virtual.
Si requestFocus en un EditText no lo muestra, quizás esto lo haga:
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, 0);
Mire here para más información.
Tengo dos caminos.
Método 1. Use el siguiente código dentro del método OnCreate
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Evitará que aparezca el teclado a menos que haga clic.
o
Método 2 Puede alejar el foco en otra vista como TextView usando "requestfocus" en el xml.
<TextView
android:id="@+id/year_birth_day"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="1991">
<requestFocus />
</TextView>
Método 3 (Creo que debería ser evitable) Usando el siguiente código en el manifiesto
android:windowSoftInputMode="stateVisible"