|
|
@@ -40,18 +40,21 @@ class TaskListActivity :
|
|
|
"上一页", "查看上一页", "继续上一页" -> {
|
|
|
val layoutManager = binding.baseRecyclerView.layoutManager as? LinearLayoutManager
|
|
|
if (layoutManager != null) {
|
|
|
- val lastVisible = layoutManager.findLastVisibleItemPosition()
|
|
|
- val nextPosition = lastVisible + 1
|
|
|
- if (nextPosition < adapter.itemCount) {
|
|
|
- layoutManager.scrollToPositionWithOffset(nextPosition, 0)
|
|
|
+ val firstVisible = layoutManager.findFirstVisibleItemPosition()
|
|
|
+ if (firstVisible > 0) {
|
|
|
+ val lastVisible = layoutManager.findLastVisibleItemPosition()
|
|
|
+ val pageSize = (lastVisible - firstVisible).coerceAtLeast(1)
|
|
|
+ val previousPosition = (firstVisible - pageSize).coerceAtLeast(0)
|
|
|
+ layoutManager.scrollToPositionWithOffset(previousPosition, 0)
|
|
|
} else {
|
|
|
- ToolsHelper.showMessage("没有下一页了")
|
|
|
+ ToolsHelper.showMessage("没有上一页了")
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }) }
|
|
|
+ })
|
|
|
+ }
|
|
|
private val adapter = object : CommonPagedAdapter<TaskItem>(R.layout.item_task_list) {
|
|
|
override fun convert(holder: ViewHolder, item: TaskItem, position: Int) {
|
|
|
holder
|
|
|
@@ -64,4 +67,4 @@ class TaskListActivity :
|
|
|
}
|
|
|
|
|
|
override fun adapter(): BasePagedAdapter<TaskItem> = adapter
|
|
|
-}
|
|
|
+}
|