From 919e43afbabbdf9bea14cf447509d9cdccf46ce7 Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Mon, 11 May 2026 15:23:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(dialog):=20=E6=B7=BB=E5=8A=A0=E8=B0=83?= =?UTF-8?q?=E6=96=99=E9=80=89=E6=8B=A9=E5=AF=B9=E8=AF=9D=E6=A1=86=E7=9A=84?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现 loadMockData 函数用于加载本地模拟调料数据 - 在空布局上添加点击事件监听器,点击时加载模拟数据 - 将原有的 TODO 注释代码转换为正式的模拟数据加载功能 - 优化空布局的初始化逻辑并添加安全调用处理 --- .../match/dialog/SeasoningSelectDialog.kt | 52 +++++++++++-------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/shuwei/dish/match/dialog/SeasoningSelectDialog.kt b/app/src/main/java/com/shuwei/dish/match/dialog/SeasoningSelectDialog.kt index 7f3d896..7b927db 100644 --- a/app/src/main/java/com/shuwei/dish/match/dialog/SeasoningSelectDialog.kt +++ b/app/src/main/java/com/shuwei/dish/match/dialog/SeasoningSelectDialog.kt @@ -192,19 +192,23 @@ class SeasoningSelectDialog( pageSize = PAGE_SIZE, goodsName = goodsName.takeUnless { it.isNullOrBlank() } ) + } -// // TODO: 联调时注释掉下方模拟数据,改为真实接口调用 -// val nameList = listOf( -// "盐", "白砂糖","冰糖", "鸡精", "味精", "陈醋", "老抽", "生抽", "番茄酱", "胡椒粉", "孜然", "十三香", -// "料酒", "白醋", "蚝油", "辣椒面", "辣椒酱", "豆瓣酱", "淀粉", "葱", "蒜", "姜", "香菜", "油" -// ) -// -// val mockData = mutableListOf() -// nameList.forEachIndexed { index, name -> -// val padString = "${index + 1}".padStart(2, '0') -// mockData.add(GoodsItem(goodsId = "1000$padString", goodsName = name)) -// } -// loadGoodsList(mockData) + /** + * 加载本地模拟数据,仅用于联调时点击空布局快速验证 UI + */ + private fun loadMockData() { + val nameList = listOf( + "盐", "白砂糖", "冰糖", "鸡精", "味精", "陈醋", "老抽", "生抽", "番茄酱", "胡椒粉", "孜然", "十三香", + "料酒", "白醋", "蚝油", "辣椒面", "辣椒酱", "豆瓣酱", "淀粉", "葱", "蒜", "姜", "香菜", "油" + ) + val mockData = mutableListOf() + nameList.forEachIndexed { index, name -> + val padString = "${index + 1}".padStart(2, '0') + mockData.add(GoodsItem(goodsId = "1000$padString", goodsName = name)) + } + pageNo = 1 + loadGoodsList(mockData) } /** @@ -251,16 +255,20 @@ class SeasoningSelectDialog( false ) } - emptyViewBinding!!.tvContent.text = "暂无数据" - emptyViewBinding!!.tvSubContent.text = "未查询到调料信息,请联系管理员添加" - emptyViewBinding!!.root.layoutParams = FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.MATCH_PARENT - ) - binding.recyclerView.layoutManager = LinearLayoutManager(activity) - binding.recyclerView.post { - emptyViewBinding!!.root.minimumHeight = binding.recyclerView.height - adapter.stateView = emptyViewBinding!!.root + emptyViewBinding?.let { + it.tvContent.text = "暂无数据" + it.tvSubContent.text = "未查询到调料信息,请联系管理员添加" + // 点击空布局加载本地模拟数据,方便联调时验证 UI + it.root.setOnClickListener { loadMockData() } + it.root.layoutParams = FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.MATCH_PARENT + ) + binding.recyclerView.layoutManager = LinearLayoutManager(activity) + binding.recyclerView.post { + it.root.minimumHeight = binding.recyclerView.height + adapter.stateView = it.root + } } } catch (e: Exception) { e.printStackTrace()