local n1_chuansong = {}
local list = {
{ name = "比奇城", mapId = "0", lv = 0, equal = { "幽灵项链", "幽灵手套", "龙之戒指", } },
{ name = "盟重省", mapId = "3", lv = 25, equal = { "幽灵项链", "幽灵手套", "龙之戒指", "道士头盔", } },
{ name = "沙巴克城", mapId = "0150", lv =
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-06 18:56:33 |
👁️ 阅读: 1
根据浮生梦老师的前端课程内容,你创建的图片只有一个是因为你每次刷新都创建了新的 `ListView_item` 容器,但图片是直接创建在同一个容器里,没有清理之前的图片,导致覆盖或显示异常。
正确的做法是:
1. 在创建图片前先清空容器
2. 确保容器对象正确存在
修改你的 `init_main` 函数中的装备展示部分:
```lua
-- 装备展示
local show_count = #list[n1_chuansong.idx].equal
local show_width = show_count * 70
local show_x = (520 - show_width) / 2
-- 先清空容器
if self.ui.ListView_item then
GUI:removeAllChildren(self.ui.ListView_item)
end
for k, v in ipairs(list[n1_chuansong.idx].equal) do
local img = GUI:Image_Create(self.ui.ListView_item, "img" .. k, show_x + (k - 1) * 70, 0, "res/public/1900000651_3.png")
SL:print("创建图片:", k, v, "位置:", show_x + (k - 1) * 70)
end
```
主要问题:
1. 缺少 `GUI:removeAllChildren()` 清理之前的图片
2. 每次刷新都会创建新的图片叠加在旧的上面
3. 确保 `self.ui.ListView_item` 是一个有效的容器对象
如果你发现还是只显示一个,检查一下:
- `self.ui.ListView_item` 是否真的存在
- 容器的尺寸是否足够显示所有图片
- 图片资源路径是否正确
另外,建议使用 `res/public_win32/1900000651_3.png` 作为图片路径(根据你之前提到的案例规范)。
← 返回问答库