【发布时间】:2017-10-08 15:21:02
【问题描述】:
我正在用 Lua 制作一个包含大量复选框的程序。每个复选框按照它们出现的顺序从 1 到 100 进行标识。选中复选框时,表格会保存复选框 ID 并对其进行排序,当未选中时,会在表格中搜索该复选框 ID,如果找到则将其删除,然后再次对表格进行排序。
但是,我遇到了第一个值没有自行删除的问题。如果我检查较早的 ID 值然后取消选中它,它将被删除,但如果我先尝试取消选中它,则不会。
代码如下:
switchCounter = 0
switchID = {}
--if checkbox-is-checked then
switchID[switchCounter] = checkbox.id
switchCounter = switchCounter + 1
table.sort(switchID)
--elseif checkbox-is-unchecked then
for p = 0, #switchID do
if switchID[p] == checkbox.id then
table.remove(switchID, p)
end
end
switchCounter = #switchID+1
table.sort(switchID)
在这一点之后(还)没有改变或触摸表格。只要它不是我要删除的第一个值,它就可以完美地工作,不会发生任何事情。
如果与回答相关,此代码正在使用 Corona SDK。
【问题讨论】:
标签: checkbox lua coronasdk lua-table