我正在尝试在创建后将listener属性添加到滑块组件:
local function sliderListener( _event )
print(_event.value)
end
slider = widget.newSlider
{
top = 30,
left = 10,
orientation = "vertical",
height = 200,
value = 10, -- Start slider at 10% (optional)
}
slider.listener = sliderListener
然而......它不起作用。这是不可能的还是我使用了错误的语法?
提前致谢。
答案 0 :(得分:1)
不确定该属性是否必须在创建时存在。尝试:
slider = widget.newSlider
{
top = 30,
...
value = 10, -- Start slider at 10% (optional)
listener = sliderListener,
}
如果您确实需要在创建后设置处理程序,请使用上面的代码并设置sliderListener
使用的委托函数。例如:
local actualListener
function actualListener1(event)
...
end
function actualListener2(event)
...
end
function sliderListener(event)
actualListener(event)
end
... create SliderWidget with listener = sliderListener...
actualListener = actualListener2
您还可以将sliderListener
表格设为__call
(通过setmetatable(s, {__call = Set.call})
答案 1 :(得分:0)
您可以以两种方式分配滑块侦听器。 slider = widget.newSlider { 顶部= 30, 左= 10, orientation =" vertical", 身高= 200, value = 10, - 以10%开始滑块(可选) slider.listener = sliderListener }
或 slider = widget.newSlider { 顶部= 30, 左= 10, orientation =" vertical", 身高= 200, value = 10, - 以10%开始滑块(可选) } slider.addEventListener(" touch",sliderListener)