From d080ca0690471c1a649539b11db1c6e596e9c5f0 Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Fri, 15 May 2026 15:21:44 +0800 Subject: [PATCH] =?UTF-8?q?refactor(setting):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=A1=B5=E9=9D=A2=E9=80=82=E9=85=8D=E5=99=A8?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除旧的直接点击监听器实现 - 集成防抖动点击事件处理机制 - 使用新的点击事件委托方式提升用户体验 - 改进适配器初始化逻辑结构 --- .../java/com/shuwei/dish/match/adapter/SettingAdapter.kt | 3 --- .../main/java/com/shuwei/dish/match/ui/SettingActivity.kt | 7 ++++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/shuwei/dish/match/adapter/SettingAdapter.kt b/app/src/main/java/com/shuwei/dish/match/adapter/SettingAdapter.kt index 15f4212..7502e12 100644 --- a/app/src/main/java/com/shuwei/dish/match/adapter/SettingAdapter.kt +++ b/app/src/main/java/com/shuwei/dish/match/adapter/SettingAdapter.kt @@ -33,9 +33,6 @@ class SettingAdapter : BaseQuickAdapter() { } else { holder.binding.tvSubtitle.gone() } - - // 点击事件直接委托给实体类中注入的 lambda - holder.binding.root.setOnClickListener { item.onClick() } } inner class VH(val binding: ListItemSettingBinding) : QuickViewHolder(binding.root) diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SettingActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SettingActivity.kt index cfae2ec..9334ed7 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/SettingActivity.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/SettingActivity.kt @@ -10,6 +10,7 @@ import android.os.Bundle import android.provider.Settings import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager +import com.chad.library.adapter4.util.setOnDebouncedItemClick import com.shuwei.dish.match.adapter.SettingAdapter import com.shuwei.dish.match.base.BaseActivity import com.shuwei.dish.match.databinding.ActivitySettingBinding @@ -37,7 +38,11 @@ class SettingActivity : BaseActivity() { /** 包含全部菜单项的完整列表(含隐藏项) */ private val allItems: List by lazy { buildAllItems() } - private val adapter = SettingAdapter() + private val adapter = SettingAdapter().apply { + setOnDebouncedItemClick { _, _, position -> + getItem(position)?.onClick() + } + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)