我是电晕sdk和lua的初学者。所以我正在研究一个程序并面临以下问题:
local buttonSmall = widget.newButton
{
id = "smallBtn",
defaultFile = "buttonBlueSmall.png",
overFile = "buttonBlueSmallOver.png",
label = " Next",
fontSize = 12,
emboss = true,
onPress = display.remove(button1)
}
问题是当我点击" buttonSmall"我想删除按钮1但每当我在sdk中启动我的代码时,它甚至没有显示按钮,甚至没有点击" buttonSmall"
答案 0 :(得分:3)
问题是您没有为onPress
侦听器分配函数。您正在执行display.remove(button1)
并将返回的内容分配给onPress
nil
。您需要包装函数调用,如下所示:
onPress = function()
display.remove(button1)
end,
或者像这样:
local function deleteButton1()
display.remove(button1)
end
...
onPress = deleteButton1,
这就是为什么button1
永远不会出现的原因,您已经通过调用display.remove()
删除了它。请记住,widget希望在onPress
上分配一个函数,你可以通过简单地指定函数名或在那里创建一个函数来实现。
答案 1 :(得分:0)
您还可以使用如下所示的内联函数:
local buttonSmall = widget.newButton
{
id = "smallBtn",
defaultFile = "buttonBlueSmall.png",
overFile = "buttonBlueSmallOver.png",
label = " Next",
fontSize = 12,
emboss = true,
onPress = function()display.remove(button1)end
}