Ich lade Daten aus der SQLite-Datenbank in RecyclerView im Batch von 25 Datensätze pro Ladezyklus. Ich finde alles heraus, aber habe Probleme mit der Logik, die Methode zum Laden von Daten in RecyclerView-Scroll-Listener aufzurufen.
Problem ist Liste wird gut auf Scroll von recyclerView im Emulator geladen, aber wenn ich in physisches Gerät getestet, auf Lenovo Phab 2 es funktionierte gut, aber in Mi Note 3, listet nicht konsistent (irgendwann lädt es, irgendwann nicht) mehr Aufzeichnungen beim Erreichen der Unterseite der Bildlaufleiste.Endless RecyclerView Datenlade Logik ist nicht auf allen Geräten konsistent
Unten ist der Code, den ich in RecyclerView Scrolle Zuhörer bin mit
private val RecyclerView_ScrollListener = object : RecyclerView.OnScrollListener(){
override fun onScrolled(recyclerView1: RecyclerView?, dx: Int, dy: Int) {
super.onScrolled(recyclerView1, dx, dy)
if (dy > 0) {
if (limit < rowCount_fromDatabase) {
visibleItemCount = layoutManager_MemberList.childCount
totalItemCount = layoutManager_MemberList.itemCount
firstVisibleItemPosition = layoutManager_MemberList.findFirstVisibleItemPosition()
if (visibleItemCount + firstVisibleItemPosition >= totalItemCount) {
limit += 25
load_Data()
}
}
}
}