From 41fc2f455832c38a82ae5eab5ca9878b89750c81 Mon Sep 17 00:00:00 2001 From: YANGJIANKUAN Date: Thu, 5 Mar 2026 16:27:47 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=94=B5=E6=8A=A5=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=88=97=E8=A1=A8=E6=95=B4=E5=8D=A1=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E5=8F=8A=E8=B0=83=E8=AF=95=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E8=87=B3=E5=9B=BD=E9=99=85=E8=BF=9B=E6=B8=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 电报解析列表项整个卡片可点击跳转详情,勾选框除外 - 开发调试自动跳转目标从国际出港改为国际进港 - 重构调试开关为通用配置,支持一键关闭和切换目标菜单 Co-Authored-By: Claude Opus 4.6 --- .../aerologic/ui/fragment/HomeFragment.kt | 28 ++++++++----------- .../gjj/holder/IntImpMsgParseViewHolder.kt | 6 ++-- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/lukouguoji/aerologic/ui/fragment/HomeFragment.kt b/app/src/main/java/com/lukouguoji/aerologic/ui/fragment/HomeFragment.kt index 8608ae8..3357900 100644 --- a/app/src/main/java/com/lukouguoji/aerologic/ui/fragment/HomeFragment.kt +++ b/app/src/main/java/com/lukouguoji/aerologic/ui/fragment/HomeFragment.kt @@ -50,7 +50,8 @@ class HomeFragment : Fragment() { * TODO: 正式发布前务必设置为 false */ companion object { - private const val DEV_AUTO_SELECT_INT_EXP = true // 自动选择国际出港开关 + private const val DEV_AUTO_SELECT_MENU = true // 开发调试:自动选择菜单开关,正式发布前设为 false + private const val DEV_AUTO_SELECT_MENU_ID = Constant.AuthName.IntImp // 自动选择的目标菜单 } private var rvLeft: RecyclerView by Delegates.notNull() @@ -73,9 +74,8 @@ class HomeFragment : Fragment() { rvLeft.adapter = HomeLeftAdapt(leftMenuList) rvRight.adapter = HomeRightAdapt(getRightMenu4Id(leftMenuList.first().id)) - // ========== 开发调试:自动选择"国际出港"菜单 ========== - // TODO: 正式发布前删除此行 - autoSelectIntExpForDev() + // ========== 开发调试:自动选择指定菜单 ========== + autoSelectMenuForDev() } /////////// 左边的list循环 @@ -933,24 +933,20 @@ class HomeFragment : Fragment() { } /** - * 开发调试:自动选择"国际出港"菜单 - * TODO: 正式发布前删除此方法或将 DEV_AUTO_SELECT_INT_EXP 设置为 false + * 开发调试:自动选择指定菜单 + * 正式发布前将 DEV_AUTO_SELECT_MENU 设置为 false 即可关闭 */ - private fun autoSelectIntExpForDev() { - if (!DEV_AUTO_SELECT_INT_EXP) return + private fun autoSelectMenuForDev() { + if (!DEV_AUTO_SELECT_MENU) return - // 延迟执行,确保适配器已初始化 rvLeft.postDelayed({ val leftAdapter = rvLeft.adapter as? HomeLeftAdapt ?: return@postDelayed - - // 查找"国际出港"在左侧菜单的位置 val leftMenuList = initLeftMenuData() - val intExpIndex = leftMenuList.indexOfFirst { it.id == Constant.AuthName.IntExp } + val targetIndex = leftMenuList.indexOfFirst { it.id == DEV_AUTO_SELECT_MENU_ID } - if (intExpIndex >= 0) { - // 模拟点击左侧"国际出港"菜单项 - leftAdapter.simulateClick(intExpIndex) + if (targetIndex >= 0) { + leftAdapter.simulateClick(targetIndex) } - }, 300) // 延迟300ms确保适配器已绑定数据 + }, 300) } } \ No newline at end of file diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpMsgParseViewHolder.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpMsgParseViewHolder.kt index 51c9097..a9b18d2 100644 --- a/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpMsgParseViewHolder.kt +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/holder/IntImpMsgParseViewHolder.kt @@ -14,10 +14,10 @@ class IntImpMsgParseViewHolder(view: View) : binding.position = position binding.executePendingBindings() - // 卡片点击 - 查看详情 - notifyItemClick(position, binding.llContent) + // 整个卡片点击 - 查看详情 + notifyItemClick(position, itemView) - // 选择框点击 - 切换选择状态 + // 选择框点击 - 切换选择状态(拦截,不触发卡片点击) binding.ivCheck.setOnClickListener { bean.checked.set(!bean.checked.get()) binding.executePendingBindings()