RecyclerView is scrolling to top, while user is scrolling down (bad anchorPosition?)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza reproduciendo el problema en el codelab mientras te desplazas continuamente hacia abajo; después, inspecciona los registros de carga de GithubRemoteMediator y los cambios registrados de anchorPosition. Determina por qué anchorPosition vuelve de 81 a 41 y verifica que el desplazamiento ya no salte a un elemento anterior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
After continuously scrolling down, after a while RecyclerView is switching his position to some element which was before, resulting in not smooth displaying of elements in it.
I only change NETWORK_PAGE_SIZE to 20, and switch to latest versions of:
roomVersion = '2.4.3'
pagingVersion = '3.1.1'
I added logs to GithubRemoteMediator, when scrolling down, there is:
15:21:54.884 RemoteMediator D load, type: REFRESH, state.pages.size: 0, anchorPosition: null
15:21:55.935 RemoteMediator D load, type: PREPEND, state.pages.size: 1, anchorPosition: null
15:21:55.999 RemoteMediator D load, type: APPEND, state.pages.size: 1, anchorPosition: 3
15:21:56.918 RemoteMediator D load, type: APPEND, state.pages.size: 1, anchorPosition: 0
15:21:57.748 RemoteMediator D load, type: APPEND, state.pages.size: 1, anchorPosition: 0
15:22:02.064 RemoteMediator D load, type: APPEND, state.pages.size: 2, anchorPosition: 40
15:22:04.697 RemoteMediator D load, type: APPEND, state.pages.size: 2, anchorPosition: 30
15:22:08.322 RemoteMediator D load, type: APPEND, state.pages.size: 4, anchorPosition: 81
15:22:10.000 RemoteMediator D load, type: APPEND, state.pages.size: 2, anchorPosition: 41
As You can see, anchorPosition after element 81 is going to be 41, which result in RecyclerView most likely going to that element.
- Lenguaje dominante
- Kotlin
- Estrellas
- 509
- Forks
- 268
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de android/codelab-android-paging
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
android/codelab-android-paging#236 · 3 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
android/codelab-android-paging#243 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-2 días Aptitud para principiantes 35/100
android/codelab-android-paging#241 · 1 comentario ·
Todos los issues de android/codelab-android-paging
Issues similares
-
OAI-PMH
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
TeamAmaze/AmazeFileManager#4731 ·
-
AndroidManifest.xml hardeningAbiertoBug Needs review
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
breezy-weather/breezy-weather#2978 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
AAswordman/Operit#1292 ·
Los mantenedores suelen responder en 1 día