0

我在 Corona 中创建了列表视图:

myList = tableView.newList{
            data=data,
            default="res/blueBg.png",
            backgroundColor={255,2552,255},
            onRelease=listButtonRelease,
            top=135,
            bottom=100,
            --data in rows etc.
         }

并添加了 onRelease 监听器:

function listButtonRelease( event )
    self = event.target
    local id = self.id
    print(self.id)

    storyboard.gotoScene( "scene2", "slideLeft", 200 )
end

但是在我切换到 scene2 之后,监听器仍然响应触摸事件。我尝试在 exitScene 上使用它:

myList:removeEventListener( "onRelease",  listButtonRelease)

但由于某种原因它不起作用。那么如何从 listview 及其项目中删除侦听器呢?

4

1 回答 1

0

一个万无一失的解决方法。

sceneExited = true 在您的 exitScene 侦听器中设置一个标志。

在您的 listButtonRelease 函数中,检查

if sceneExited then return end 

sceneExited = false并在您的 enterScene 侦听器中设置标志

于 2012-06-05T17:48:10.010 回答