button inside scrollView doesn't move to phase moved

here is my code :

-- Create the widget local scrollView = widget.newScrollView { top = 80, left = 0, width = display.contentWidth, height = display.contentHeight, topPadding = 0, bottomPadding = 100, horizontalScrollDisabled = true } scrollView.hasFocusFlag = false local function handleLevelSelect( event ) local phase = event.phase print("gerak"..event.target.id) if ( phase == "began" ) then scrollView.hasFocusFlag = false print(" began") elseif ( phase == "moved" ) then print("moved") local dy = math.abs( ( event.y - event.yStart ) ) -- If the touch on the button has moved more than 10 pixels, -- pass focus back to the scroll view so it can continue scrolling if ( dy \> 10 ) then scrollView:takeFocus( event ) scrollView.hasFocusFlag = true event.target:dispatchEvent( { name="touch", target=event.target, phase="ended" } ) print("klik") end elseif ( phase == "ended" ) then print("ended") if ( scrollView.hasFocusFlag == false ) then -- set the current level to the ID of the selected level myData.settings.currentLevel = event.target.id composer.removeScene( "game", false ) composer.gotoScene( "game", { effect = "crossFade", time = 333 } ) end end end

and every time I click the button, the terminal only print these :

gerak1 began gerak1 began gerak2 began gerak2 began gerak1 began

that means I click button number 1, and then 2, and 1 again… if phase moved is triggered, it should print “move”, but it didn’t… :frowning:

what should I do?