si se desplaza en modo retrato a una ayah y cambia a paisaje, vuelve a la parte superior. al menos deberíamos volver a la parte superior de la aleya que se estaba leyendo por última vez.
esto es mucho más fácil de hacer ahora que estamos usando RecyclerView
- marcando esto como disponible, @hakimrie , siéntete libre si tienes la oportunidad.
@ahmedre El fragmento TranslationFragment
creación ( onCreateView
) se activa 3 veces debido al cálculo del número de página, lo que significa que onViewStateRestored
se llama 3 veces, la primera vez que la posición es válido pero el segundo y el tercero no lo son (y el valor es igual a 0).
¿Necesitaba ignorar la segunda y tercera llamada a onViewStateRestored
comprobando si la posición es igual a 0? Porque en mi opinión no hay otra forma.
TranslationFragment
creación (onCreateView
) se activa 3 veces
¡UH Huh! ¿No crees que ese es el problema? ¿Hay alguna manera de _ corregir_ y activar onCreateView
solo una vez?
ViewPager
genera no menos de 3 páginas: la página actual, la página anterior y la siguiente. por lo que estos "2 adicionales" son para la página izquierda y derecha. no hay forma de disminuir esto (ni queremos hacerlo, porque de lo contrario, cambiar de página sería muy lento, porque tendrías que generar la página solo una vez que se inició el arrastre).
@selmanon , querrá comparar el número de página con el número de página conocido por PagerActivity
.
@ahmedre mi mal ... lo tengo ...
@ahmedre solo para compartir el comportamiento que realmente encontré, RV normalmente persiste el estado de la posición sin ninguna codificación adicional (Ref: https://github.com/googlesamples/android-RecyclerView) el ejemplo de código de referencia de RV usó adicionales código para conservar el estado de la posición, pero los eliminé y aún persiste la posición de desplazamiento de RV.
En realidad, los TranslationView
usan una vista personalizada TranslationView
con un RV como miembro de campo y con este diseño, Android no juega bien.
@ahmedre Creo que podemos cerrar este tema ahora.
jazakAllah khairan @ Ahmed9914