From 3687ba629bb7a11e95d636981a7802cf8f4d01a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Tue, 14 Apr 2026 16:34:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(ui):=20=E8=A7=A3=E5=86=B3=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E7=9B=91=E5=90=AC=E5=99=A8=E7=9A=84UI?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在FoActivity、InspectionActivity、ReviewActivity和WelcomeActivity中为离线命令处理添加runOnUiThread包装 - 修复TaskListActivity中的分页逻辑,将lastVisible改为nextPosition进行边界检查 - 更新TaskListActivity中的任务列表点击事件,调整when条件的取模运算和页面跳转逻辑 - 在TaskListActivity中添加调试日志用于跟踪下一页操作 - 统一所有活动中的离线命令处理确保在主线程中执行finish()和startActivity()操作 --- .../com/nova/brain/glass/ui/FoActivity.kt | 10 +++--- .../nova/brain/glass/ui/InspectionActivity.kt | 22 +++++++------ .../com/nova/brain/glass/ui/ReviewActivity.kt | 20 ++++++------ .../nova/brain/glass/ui/TaskListActivity.kt | 31 ++++++++++++------- .../nova/brain/glass/ui/WelcomeActivity.kt | 10 +++--- 5 files changed, 55 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt index 9cf6c07..a9c4096 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/FoActivity.kt @@ -11,9 +11,11 @@ class FoActivity : BaseActivity() { override fun fullscreen(): Boolean = true private val listener = object : OfflineCmdListener { override fun onOfflineCmd(cmd: String) { - when( cmd){ - "退出","返回","退回"->{ - finish() + runOnUiThread { + when( cmd){ + "退出","返回","退回"->{ + finish() + } } } } @@ -27,4 +29,4 @@ class FoActivity : BaseActivity() { super.onDestroy() OfflineCmdServiceHelper.removeOnLineListener(listener) } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/nova/brain/glass/ui/InspectionActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/InspectionActivity.kt index 09b054c..d4be411 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/InspectionActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/InspectionActivity.kt @@ -12,15 +12,17 @@ class InspectionActivity : BaseActivity() { override fun fullscreen(): Boolean = true private val listener = object : OfflineCmdListener { override fun onOfflineCmd(cmd: String) { - when( cmd){ - "退出","返回","退回"->{ - finish() - } - "驳回","拒绝","不同意"->{ - finish() - } - "同意","通过"->{ - finish() + runOnUiThread { + when( cmd){ + "退出","返回","退回"->{ + finish() + } + "驳回","拒绝","不同意"->{ + finish() + } + "同意","通过"->{ + finish() + } } } } @@ -34,4 +36,4 @@ class InspectionActivity : BaseActivity() { super.onDestroy() OfflineCmdServiceHelper.removeOnLineListener(listener) } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt index 8e51314..28fce33 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/ReviewActivity.kt @@ -20,15 +20,17 @@ class ReviewActivity : BaseListFormLayoutNormalActivity{ - finish() - } - "驳回","拒绝","不同意"->{ - finish() - } - "同意","通过"->{ - finish() + runOnUiThread { + when( cmd){ + "退出","返回","退回"->{ + finish() + } + "驳回","拒绝","不同意"->{ + finish() + } + "同意","通过"->{ + finish() + } } } } 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 d16a862..f519d73 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 @@ -14,6 +14,7 @@ import com.xuqm.base.adapter.CommonPagedAdapter import com.xuqm.base.adapter.ViewHolder import com.xuqm.base.common.LogHelper import com.xuqm.base.common.ToolsHelper +import com.xuqm.base.extensions.log import com.xuqm.base.ui.BaseListFormLayoutActivity class TaskListActivity : @@ -33,17 +34,18 @@ class TaskListActivity : private val offlineCmdListener = object : OfflineCmdListener { override fun onOfflineCmd(cmd: String) { - when (cmd) { - "下一页", "翻页", "查看下一页", "继续翻页", "继续下一页" -> { - toNext() - } - "上一页", "查看上一页", "继续上一页" -> { - toPre() + runOnUiThread { + when (cmd) { + "下一页", "翻页", "查看下一页", "继续翻页", "继续下一页" -> { + "--------------->".log() + toNext() + } + "上一页", "查看上一页", "继续上一页" -> { + toPre() + } } } } - - } private fun toPre() { @@ -65,8 +67,9 @@ class TaskListActivity : if (layoutManager != null) { val lastVisible = layoutManager.findLastVisibleItemPosition() LogHelper.d("lastVisible:$lastVisible") - if (lastVisible < adapter.itemCount) { - layoutManager.scrollToPositionWithOffset(lastVisible, 0) + val nextPosition = lastVisible + 1 + if (nextPosition < adapter.itemCount) { + layoutManager.scrollToPositionWithOffset(nextPosition, 0) } else { ToolsHelper.showMessage("没有下一页了") } @@ -89,13 +92,19 @@ class TaskListActivity : .setText(R.id.tv_title, "${position}.张三提交的出差预算申请审核任务,从上海到北京,3月23开始3月24结束,预算金额¥1800元。【已逾期】") .setClickListener(R.id.tv_title ) { - when(position%5){ + 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)) + } } } } diff --git a/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt index 0215777..23ab8c1 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/WelcomeActivity.kt @@ -25,9 +25,11 @@ class WelcomeActivity : BaseActivity() { private val offlineCmdListener = object : OfflineCmdListener { override fun onOfflineCmd(cmd: String) { - when (cmd) { - "任务列表", "查看任务", "查看任务列表" -> { - startActivity(Intent(this@WelcomeActivity, TaskListActivity::class.java)) + runOnUiThread { + when (cmd) { + "任务列表", "查看任务", "查看任务列表" -> { + startActivity(Intent(this@WelcomeActivity, TaskListActivity::class.java)) + } } } } @@ -46,4 +48,4 @@ class WelcomeActivity : BaseActivity() { } -} \ No newline at end of file +}