refactor(setting): 优化设置页面适配器点击事件处理
- 移除旧的直接点击监听器实现 - 集成防抖动点击事件处理机制 - 使用新的点击事件委托方式提升用户体验 - 改进适配器初始化逻辑结构
This commit is contained in:
@@ -33,9 +33,6 @@ class SettingAdapter : BaseQuickAdapter<SettingItem, SettingAdapter.VH>() {
|
||||
} else {
|
||||
holder.binding.tvSubtitle.gone()
|
||||
}
|
||||
|
||||
// 点击事件直接委托给实体类中注入的 lambda
|
||||
holder.binding.root.setOnClickListener { item.onClick() }
|
||||
}
|
||||
|
||||
inner class VH(val binding: ListItemSettingBinding) : QuickViewHolder(binding.root)
|
||||
|
||||
@@ -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<SettingItem> 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)
|
||||
|
||||
Reference in New Issue
Block a user