Tengo una actividad con muchos controles EditText
y casillas de verificación cerca de ellos. Por defecto, la mayoría de los EditTexts
están deshabilitados.El foco salta aleatoriamente al desplazarse
Cuando abro la actividad, algún control EditText
aleatorio obtiene el foco (un marco alrededor) y si toca sobre él, aparece el teclado en pantalla aunque el EditText
está desactivado y no aparece el texto cuando presiona el teclas de pantalla
Además, todo mi diseño está envuelto en un ScrollView
. Cuando se desplaza, algunos aleatorios EditText
s obtienen enfoque. Puede ser el visible más bajo, o el más visible, o a veces uno en el medio, a veces uno fuera del área visible.
Como un elemento aleatorio del diseño se enfoca, la actividad se desplaza aleatoriamente hacia abajo cuando la abre, lo cual es bastante molesto.
Supongo que es un error de Android, pero ¿hay alguna solución?
Stop EditText from gaining focus at Activity startup maneja la situación con solo 1 EditText
por lo que puede decir que pierde el foco para que el elemento ficticio pueda obtenerlo. En mi caso, el elemento ficticio no gana foco, tanto en onResume como onCreate, con ambos android:focusable="true" android:focusableInTouchMode="true"
¿Debo verificar todos los controles de EditText (hay 12) y decirles que pierdan el foco? Lo que ocurre con el desplazamiento, porque parece que el enfoque aleatoriamente salta.
Acabo de intentar llamar a clearFocus() y setSelected (false) en cada elemento EditText en el diseño. Esto no ayudó. Todavía algunos al azar uno se enfoca. – iseeall
Después de algunas pruebas sobre esto, descubrió que no siempre es el foco que recibe al azar, sino el elemento EditText que tiene la misma posición y que el punto de contacto. No tiene que tocar exactamente el elemento en sí, sino a la derecha o a la izquierda de él y luego comenzar a desplazarse. Después de un tiempo, EditText tiene una alta probabilidad de obtener el foco, incluso si está desactivado (no editable) – iseeall