fix(ui): 解决离线命令监听器的UI线程问题
- 在FoActivity、InspectionActivity、ReviewActivity和WelcomeActivity中为离线命令处理添加runOnUiThread包装 - 修复TaskListActivity中的分页逻辑,将lastVisible改为nextPosition进行边界检查 - 更新TaskListActivity中的任务列表点击事件,调整when条件的取模运算和页面跳转逻辑 - 在TaskListActivity中添加调试日志用于跟踪下一页操作 - 统一所有活动中的离线命令处理确保在主线程中执行finish()和startActivity()操作
这个提交包含在:
父节点
f35781ec48
当前提交
3687ba629b
@ -11,9 +11,11 @@ class FoActivity : BaseActivity<ActivityFoBinding>() {
|
|||||||
override fun fullscreen(): Boolean = true
|
override fun fullscreen(): Boolean = true
|
||||||
private val listener = object : OfflineCmdListener {
|
private val listener = object : OfflineCmdListener {
|
||||||
override fun onOfflineCmd(cmd: String) {
|
override fun onOfflineCmd(cmd: String) {
|
||||||
when( cmd){
|
runOnUiThread {
|
||||||
"退出","返回","退回"->{
|
when( cmd){
|
||||||
finish()
|
"退出","返回","退回"->{
|
||||||
|
finish()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,15 +12,17 @@ class InspectionActivity : BaseActivity<ActivityReviewBinding>() {
|
|||||||
override fun fullscreen(): Boolean = true
|
override fun fullscreen(): Boolean = true
|
||||||
private val listener = object : OfflineCmdListener {
|
private val listener = object : OfflineCmdListener {
|
||||||
override fun onOfflineCmd(cmd: String) {
|
override fun onOfflineCmd(cmd: String) {
|
||||||
when( cmd){
|
runOnUiThread {
|
||||||
"退出","返回","退回"->{
|
when( cmd){
|
||||||
finish()
|
"退出","返回","退回"->{
|
||||||
}
|
finish()
|
||||||
"驳回","拒绝","不同意"->{
|
}
|
||||||
finish()
|
"驳回","拒绝","不同意"->{
|
||||||
}
|
finish()
|
||||||
"同意","通过"->{
|
}
|
||||||
finish()
|
"同意","通过"->{
|
||||||
|
finish()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,15 +20,17 @@ class ReviewActivity : BaseListFormLayoutNormalActivity<ItemItem, ItemListVM, Ac
|
|||||||
|
|
||||||
private val listener = object : OfflineCmdListener {
|
private val listener = object : OfflineCmdListener {
|
||||||
override fun onOfflineCmd(cmd: String) {
|
override fun onOfflineCmd(cmd: String) {
|
||||||
when( cmd){
|
runOnUiThread {
|
||||||
"退出","返回","退回"->{
|
when( cmd){
|
||||||
finish()
|
"退出","返回","退回"->{
|
||||||
}
|
finish()
|
||||||
"驳回","拒绝","不同意"->{
|
}
|
||||||
finish()
|
"驳回","拒绝","不同意"->{
|
||||||
}
|
finish()
|
||||||
"同意","通过"->{
|
}
|
||||||
finish()
|
"同意","通过"->{
|
||||||
|
finish()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import com.xuqm.base.adapter.CommonPagedAdapter
|
|||||||
import com.xuqm.base.adapter.ViewHolder
|
import com.xuqm.base.adapter.ViewHolder
|
||||||
import com.xuqm.base.common.LogHelper
|
import com.xuqm.base.common.LogHelper
|
||||||
import com.xuqm.base.common.ToolsHelper
|
import com.xuqm.base.common.ToolsHelper
|
||||||
|
import com.xuqm.base.extensions.log
|
||||||
import com.xuqm.base.ui.BaseListFormLayoutActivity
|
import com.xuqm.base.ui.BaseListFormLayoutActivity
|
||||||
|
|
||||||
class TaskListActivity :
|
class TaskListActivity :
|
||||||
@ -33,17 +34,18 @@ class TaskListActivity :
|
|||||||
|
|
||||||
private val offlineCmdListener = object : OfflineCmdListener {
|
private val offlineCmdListener = object : OfflineCmdListener {
|
||||||
override fun onOfflineCmd(cmd: String) {
|
override fun onOfflineCmd(cmd: String) {
|
||||||
when (cmd) {
|
runOnUiThread {
|
||||||
"下一页", "翻页", "查看下一页", "继续翻页", "继续下一页" -> {
|
when (cmd) {
|
||||||
toNext()
|
"下一页", "翻页", "查看下一页", "继续翻页", "继续下一页" -> {
|
||||||
}
|
"--------------->".log()
|
||||||
"上一页", "查看上一页", "继续上一页" -> {
|
toNext()
|
||||||
toPre()
|
}
|
||||||
|
"上一页", "查看上一页", "继续上一页" -> {
|
||||||
|
toPre()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun toPre() {
|
private fun toPre() {
|
||||||
@ -65,8 +67,9 @@ class TaskListActivity :
|
|||||||
if (layoutManager != null) {
|
if (layoutManager != null) {
|
||||||
val lastVisible = layoutManager.findLastVisibleItemPosition()
|
val lastVisible = layoutManager.findLastVisibleItemPosition()
|
||||||
LogHelper.d("lastVisible:$lastVisible")
|
LogHelper.d("lastVisible:$lastVisible")
|
||||||
if (lastVisible < adapter.itemCount) {
|
val nextPosition = lastVisible + 1
|
||||||
layoutManager.scrollToPositionWithOffset(lastVisible, 0)
|
if (nextPosition < adapter.itemCount) {
|
||||||
|
layoutManager.scrollToPositionWithOffset(nextPosition, 0)
|
||||||
} else {
|
} else {
|
||||||
ToolsHelper.showMessage("没有下一页了")
|
ToolsHelper.showMessage("没有下一页了")
|
||||||
}
|
}
|
||||||
@ -89,13 +92,19 @@ class TaskListActivity :
|
|||||||
.setText(R.id.tv_title, "${position}.张三提交的出差预算申请审核任务,从上海到北京,3月23开始3月24结束,预算金额¥1800元。【已逾期】")
|
.setText(R.id.tv_title, "${position}.张三提交的出差预算申请审核任务,从上海到北京,3月23开始3月24结束,预算金额¥1800元。【已逾期】")
|
||||||
.setClickListener(R.id.tv_title
|
.setClickListener(R.id.tv_title
|
||||||
) {
|
) {
|
||||||
when(position%5){
|
when(position%4){
|
||||||
0 -> {
|
0 -> {
|
||||||
startActivity(Intent(this@TaskListActivity, FoActivity::class.java))
|
startActivity(Intent(this@TaskListActivity, FoActivity::class.java))
|
||||||
}
|
}
|
||||||
1 -> {
|
1 -> {
|
||||||
startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java))
|
startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java))
|
||||||
}
|
}
|
||||||
|
2 -> {
|
||||||
|
startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java))
|
||||||
|
}
|
||||||
|
3 -> {
|
||||||
|
startActivity(Intent(this@TaskListActivity, ReviewActivity::class.java))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,9 +25,11 @@ class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
|||||||
|
|
||||||
private val offlineCmdListener = object : OfflineCmdListener {
|
private val offlineCmdListener = object : OfflineCmdListener {
|
||||||
override fun onOfflineCmd(cmd: String) {
|
override fun onOfflineCmd(cmd: String) {
|
||||||
when (cmd) {
|
runOnUiThread {
|
||||||
"任务列表", "查看任务", "查看任务列表" -> {
|
when (cmd) {
|
||||||
startActivity(Intent(this@WelcomeActivity, TaskListActivity::class.java))
|
"任务列表", "查看任务", "查看任务列表" -> {
|
||||||
|
startActivity(Intent(this@WelcomeActivity, TaskListActivity::class.java))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户