【问题标题】:Add ID to listener after loading remote image加载远程图像后向侦听器添加 ID
【发布时间】:2015-03-20 09:36:12
【问题描述】:

我有一个用于加载远程图像的侦听器,但我需要能够将一个 ID 号传递给该侦听器,但我不确定该怎么做。我检索远程图像的代码是:

display.loadRemoteImage("http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg", "GET", networkListener, "banner.png",system.TemporaryDirectory,  (globalData.contentX * rows2) + globalData.contentX/2, 20 + (i - 1) % 6 * 140

而我的听众是:

local function networkListener( event )
    if ( event.isError ) then
        print ( "Network error - download failed" )
    else
        local target = event.target
        target.alpha = 0
        transition.to( target, { alpha = 1.0 } )
        target.width = 590
        target.height = 110 
        target:addEventListener( "touch", target )
        scrollView:insert(target) 
        function target:touch(event)
            if event.phase == "began" then
                display.getCurrentStage():setFocus( self )
                self.isFocus = true

            elseif self.isFocus then
                if event.phase == "moved" then
                    numMoved = numMoved + 1
                    if(numMoved > 10) then
                        display.getCurrentStage():setFocus( nil )
                        self.isFocus = false
                        scrollView:takeFocus( event )
                    end
                elseif event.phase == "ended" or event.phase == "cancelled" then
                    globalData.selectedLocationID = target.id --This needs to be the ID that I pass to this listener
                    if(globalData.approvedToggle == 1) then
                        storyboard.gotoScene("businessScene")
                    else
                        storyboard.gotoScene("locationScene")
                    end
                    display.getCurrentStage():setFocus( nil )
                    self.isFocus = false
                end
            end
        return true
    end
end

在此问题上的任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: lua listener coronasdk


    【解决方案1】:

    前段时间我在我正在制作的一个电子商务应用程序上做了这个。我不熟悉情节提要,但我确实记得使用过这个 API。如果我没记错的话,您需要使用 event.target 作为事件侦听器并在那里传递所有内容。我还记得你可以像这样在 display.loadRemoteImage API 中嵌入一个函数:

    itemImage = display.loadRemoteImage(itemData.imageURL, "GET", 
                function(event)
                   event.target.xScale = 0.4
                   event.target.yScale = 0.4
                   function openSite(event)
                       if event.phase == "ended" then
                          system.openURL( itemData.itemURL )
                       end
                   end 
                   event.target:addEventListener( "tap", openSite )
                end)
    

    我的建议是删除所有故事板内容,并尝试使 API 在不同的文档中工作。我认为你需要简化它,这样你就不会感到困惑。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-06-30
      • 2014-02-08
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      • 2010-11-26
      • 2017-04-06
      相关资源
      最近更新 更多