feat(fragment): 新增调料选择弹窗并绑定格子点击交互

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 15:43:11 +08:00
co-authored by Claude Sonnet 4.6
parent c61b1c8ef7
commit 768bde79a1
5 changed files with 324 additions and 0 deletions
@@ -11,6 +11,7 @@ import com.shuwei.dish.match.adapter.Seasoning18GridAdapter
import com.shuwei.dish.match.adapter.Seasoning22GridAdapter
import com.shuwei.dish.match.base.BaseFragment
import com.shuwei.dish.match.databinding.FragmentSeasoningConfigBinding
import com.shuwei.dish.match.dialog.SeasoningSelectDialog
import com.shuwei.dish.match.ui.SettingActivity
import com.shuwei.dish.match.utils.ext.dp
@@ -31,9 +32,32 @@ class SeasoningConfigFragment : BaseFragment<FragmentSeasoningConfigBinding>() {
settingActivity = activity as SettingActivity
// initViewModel()
setupRecyclerViews()
bindAdapterClicks()
loadData()
}
/** 绑定两个 Adapter 的格子点击,弹出调料选择弹窗 */
private fun bindAdapterClicks() {
adapter22.onItemClick = { _, position ->
SeasoningSelectDialog(
activity = settingActivity,
clickIndex = position,
onItemSelected = { item ->
adapter22.updateItemName(position, item.goodsName ?: "")
}
).show()
}
adapter18.onItemClick = { _, position ->
SeasoningSelectDialog(
activity = settingActivity,
clickIndex = position,
onItemSelected = { item ->
adapter18.updateItemName(position, item.goodsName ?: "")
}
).show()
}
}
// /** 初始化 ViewModel */
// private fun initViewModel() {
// val factory = AppFactory(AppRepository(BaseApp.instance!!.database.appDao()))