En mi aplicación de Android enfoca automáticamente el primero Buttonque tengo en mi diseño, dándole un contorno naranja. ¿Cómo puedo establecer el enfoque inicial preferiblemente en XML y se puede establecer en nada?
En mi aplicación de Android enfoca automáticamente el primero Buttonque tengo en mi diseño, dándole un contorno naranja. ¿Cómo puedo establecer el enfoque inicial preferiblemente en XML y se puede establecer en nada?
Respuestas:
Podrías usar la requestFocusetiqueta:
<Button ...>
<requestFocus />
</Button>
Sin embargo, me parece extraño que enfoque automáticamente uno de sus botones, no he observado ese comportamiento en ninguna de mis vistas.
@Alguien en algún lugar, probé todo lo anterior sin éxito. La solución que encontré es de http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Básicamente, necesitas crear un diseño invisible justo encima del botón problemático:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayoutarchivo que contiene EditText.
Establezca ambos :focusabley :focusableInTouchModeen verdadero y llame requestFocus. Hace el truco.
Encontré que esto funcionó mejor para mí.
En AndroidManifest.xml <activity> elementagregueandroid:windowSoftInputMode="stateHidden"
Esto siempre oculta el teclado al ingresar a la actividad.
Solo agrego esta línea de código en onCreate():
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problema resuelto.
@ Alguien en algún lugar utilicé esto para despejar el enfoque:
editText.clearFocus();
y ayuda