Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


El enfoque aleatoriamente salta al desplazarse

Tengo una actividad con muchos controles de EditText y casillas de verificación cerca de ellos. De forma predeterminada, la mayoría de EditTexts están deshabilitados.

Cuando abro la actividad, algún control aleatorio de EditText consigue el foco (un marco alrededor de él) y si usted golpea ligeramente en él, el teclado en pantalla aparece aunque el EditText esté inhabilitado y ningún texto aparece cuando usted presiona las llaves en pantalla.

Además, todo mi diseño está envuelto en un ScrollView . Cuando se desplaza, algunos aleatorios EditText s obtener el enfoque. Puede ser el más bajo visible, o el visible más alto, o a veces uno en el medio, a veces uno fuera del área visible.

Debido a que un elemento aleatorio del diseño obtiene el foco, la actividad se desplaza aleatoriamente hacia abajo cuando se abre, lo que es bastante molesto.

Supongo que es un error de Android, pero hay una solución?

Detener EditText de ganar foco en el inicio de actividad se encarga de la situación con sólo 1 EditText para el que se puede decir que perder el foco para que el elemento ficticio podría ganar. En mi caso el elemento ficticio no gana foco, tanto en onResume como onCreate, con ambos android:focusable="true" android:focusableInTouchMode="true"

¿Debo comprobar todos los controles de EditText (hay 12 de ellos) y les digo que pierdan el foco? Lo que con el desplazamiento, porque parece centrarse aleatoriamente salta.

  • RequestFocus no funciona correctamente para EditText
  • ¿Cómo resaltar ImageView cuando se enfoca o hace clic?
  • Eliminación del indicador de foco de RecycleView en Android
  • Amplíe y dé enfoque a SearchView automáticamente
  • Android EditText AutoFocus al próximo EditText cuando está en maxlength
  • Android: Force EditText para eliminar el enfoque?
  • Establecer el área de enfoque de la cámara en Android
  • Los elementos secundarios ExpandableListView no obtienen el enfoque cuando se tocan
  • 2 Solutions collect form web for “El enfoque aleatoriamente salta al desplazarse”

    No es el desplazamiento que enfoca al azar el EditText. Es cuando el scrollview maneja un evento de fling. Si sobrescribes el método fling, no habrá ningún cambio de enfoque aleatorio.

    Entonces, si desea que la funcionalidad de fling de nuevo tendrá que escribir su propio método de fling. Hay código aquí puede copiar desde:

    Desplazamiento suave en Android

    Debido a la implementación del método fling en el ScrollView – es suficiente anular el findFocus() , de modo que devolverá this para evitar que el foco salte al desplazarse.

     @Override public View findFocus() { return this; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.