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 8be87af..b735d1b 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 @@ -58,7 +58,34 @@ class TaskListActivity : toPre() } "查看第一条任务", "查看第一项任务", "打开第一条任务","打开第一项任务", "处理第一条任务", "处理第一项任务" -> { - toPre() + openVisibleTask(0) + } + "查看第二条任务", "查看第二项任务", "打开第二条任务", "打开第二项任务", "处理第二条任务", "处理第二项任务" -> { + openVisibleTask(1) + } + "查看第三条任务", "查看第三项任务", "打开第三条任务", "打开第三项任务", "处理第三条任务", "处理第三项任务" -> { + openVisibleTask(2) + } + "查看第四条任务", "查看第四项任务", "打开第四条任务", "打开第四项任务", "处理第四条任务", "处理第四项任务" -> { + openVisibleTask(3) + } + "查看第五条任务", "查看第五项任务", "打开第五条任务", "打开第五项任务", "处理第五条任务", "处理第五项任务" -> { + openVisibleTask(4) + } + "查看第六条任务", "查看第六项任务", "打开第六条任务", "打开第六项任务", "处理第六条任务", "处理第六项任务" -> { + openVisibleTask(5) + } + "查看第七条任务", "查看第七项任务", "打开第七条任务", "打开第七项任务", "处理第七条任务", "处理第七项任务" -> { + openVisibleTask(6) + } + "查看第八条任务", "查看第八项任务", "打开第八条任务", "打开第八项任务", "处理第八条任务", "处理第八项任务" -> { + openVisibleTask(7) + } + "查看第九条任务", "查看第九项任务", "打开第九条任务", "打开第九项任务", "处理第九条任务", "处理第九项任务" -> { + openVisibleTask(8) + } + "查看第十条任务", "查看第十项任务", "打开第十条任务", "打开第十项任务", "处理第十条任务", "处理第十项任务" -> { + openVisibleTask(9) } } } @@ -105,6 +132,29 @@ class TaskListActivity : adapter.notifyDataSetChanged() } + private fun openVisibleTask(offset: Int) { + val layoutManager = binding.baseRecyclerView.layoutManager as? LinearLayoutManager ?: return + val firstVisible = layoutManager.findFirstVisibleItemPosition() + if (firstVisible == RecyclerView.NO_POSITION) { + return + } + val targetPosition = firstVisible + offset + val lastVisible = layoutManager.findLastVisibleItemPosition() + if (targetPosition > lastVisible || targetPosition >= adapter.itemCount) { + return + } + openTask(targetPosition) + } + + private fun openTask(position: Int) { + when (position % 4) { + 0 -> startActivity(Intent(this@TaskListActivity, FoActivity::class.java)) + 1 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) + 2 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) + 3 -> startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) + } + } + override fun onResume() { super.onResume() OfflineCmdServiceHelper.addOnLineListener(offlineCmdListener) @@ -122,20 +172,7 @@ class TaskListActivity : .setText(R.id.tv_title, "${displayPosition}.张三提交的出差预算申请审核任务,从上海到北京,3月23开始3月24结束,预算金额¥1800元。【已逾期】") .setClickListener(R.id.tv_title ) { - when(position%4){ - 0 -> { - startActivity(Intent(this@TaskListActivity, FoActivity::class.java)) - } - 1 -> { - startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) - } - 2 -> { - startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) - } - 3 -> { - startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java)) - } - } + openTask(position) } } }