https://kotlinlang.org logo
c

chickenfresh

08/27/2018, 3:37 PM
@carlw
Copy code
private val listener = ChangeListener<Number> { _, _, nv ->
                if ( userData != null) {
                    val scrollable = userData as ScrollableItemWrapper
                    val pos = listView.height - this.height - nv.toDouble()
                    if (scrollable.lastItem && pos > 0 && (pos < this.height/4) && index+1 == maxRange*50) {
                        println("$currentRange cur.range| ${scrollable.lastItem} item| $pos pos| ${this.height} height| $index index| ${maxRange*50} max.range")
                    }
                    if ( scrollable.lastItem && pos > 0 && (pos < this.height/4) && index+1 == maxRange*50) {
                        runAsync {
                            getNextMessages()
                        } ui {
                            records.addAll( it )
                            listView.scrollTo(index+1-(listView.height/this.height).toInt())
                        }
                    }
                }
            }
final version of listener for endless scroll, without any problems 🙂