diff --git a/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt index 6cec739..e98e658 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/TaskListActivity.kt @@ -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(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 = adapter -} \ No newline at end of file +}