refactor(setting): 优化设置页面适配器点击事件处理
- 移除旧的直接点击监听器实现 - 集成防抖动点击事件处理机制 - 使用新的点击事件委托方式提升用户体验 - 改进适配器初始化逻辑结构
This commit is contained in:
@@ -33,9 +33,6 @@ class SettingAdapter : BaseQuickAdapter<SettingItem, SettingAdapter.VH>() {
|
|||||||
} else {
|
} else {
|
||||||
holder.binding.tvSubtitle.gone()
|
holder.binding.tvSubtitle.gone()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 点击事件直接委托给实体类中注入的 lambda
|
|
||||||
holder.binding.root.setOnClickListener { item.onClick() }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inner class VH(val binding: ListItemSettingBinding) : QuickViewHolder(binding.root)
|
inner class VH(val binding: ListItemSettingBinding) : QuickViewHolder(binding.root)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import android.os.Bundle
|
|||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import com.chad.library.adapter4.util.setOnDebouncedItemClick
|
||||||
import com.shuwei.dish.match.adapter.SettingAdapter
|
import com.shuwei.dish.match.adapter.SettingAdapter
|
||||||
import com.shuwei.dish.match.base.BaseActivity
|
import com.shuwei.dish.match.base.BaseActivity
|
||||||
import com.shuwei.dish.match.databinding.ActivitySettingBinding
|
import com.shuwei.dish.match.databinding.ActivitySettingBinding
|
||||||
@@ -37,7 +38,11 @@ class SettingActivity : BaseActivity() {
|
|||||||
/** 包含全部菜单项的完整列表(含隐藏项) */
|
/** 包含全部菜单项的完整列表(含隐藏项) */
|
||||||
private val allItems: List<SettingItem> by lazy { buildAllItems() }
|
private val allItems: List<SettingItem> by lazy { buildAllItems() }
|
||||||
|
|
||||||
private val adapter = SettingAdapter()
|
private val adapter = SettingAdapter().apply {
|
||||||
|
setOnDebouncedItemClick { _, _, position ->
|
||||||
|
getItem(position)?.onClick()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|||||||
Reference in New Issue
Block a user