parent
4161f3469c
commit
156864b83d
@ -1,33 +0,0 @@ |
|||||||
package io.legado.app.base.adapter |
|
||||||
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager |
|
||||||
import androidx.recyclerview.widget.RecyclerView |
|
||||||
|
|
||||||
/** |
|
||||||
* Created by Invincible on 2017/12/15. |
|
||||||
* |
|
||||||
* 上拉加载更多 |
|
||||||
*/ |
|
||||||
@Suppress("unused") |
|
||||||
abstract class InfiniteScrollListener : RecyclerView.OnScrollListener() { |
|
||||||
private val loadMoreRunnable = Runnable { onLoadMore() } |
|
||||||
|
|
||||||
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { |
|
||||||
// if (dy < 0 || dataLoading.isDataLoading()) return |
|
||||||
|
|
||||||
val layoutManager: LinearLayoutManager = recyclerView.layoutManager as LinearLayoutManager |
|
||||||
val visibleItemCount = recyclerView.childCount |
|
||||||
val totalItemCount = layoutManager.itemCount |
|
||||||
val firstVisibleItem = layoutManager.findFirstVisibleItemPosition() |
|
||||||
|
|
||||||
if (totalItemCount - visibleItemCount <= firstVisibleItem + VISIBLE_THRESHOLD) { |
|
||||||
recyclerView.post(loadMoreRunnable) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
abstract fun onLoadMore() |
|
||||||
|
|
||||||
companion object { |
|
||||||
private const val VISIBLE_THRESHOLD = 5 |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue