Here is the whole code for the scene:
----------------------------------------------------------------------------------------- -- -- view1.lua -- ----------------------------------------------------------------------------------------- local composer = require( "composer" ) local scene = composer.newScene() local widget = require( "widget" ) local mime = require("mime") local json = require("json") local tableView = nil local URL = "" -- i took the URL out local function apiCallback(event) if ( event.isError ) then print( "Network error!") else data = json.decode(event.response) local rowData = data.data for key,value in pairs(rowData) do --actualcode print(key .. "---" .. value.title) tableView:insertRow{ rowHeight = 90, params = { title = value.title, eventDate = value.datetime\_utc, venue = value.venue.city, resourceID = value.event\_id } -- Include custom data in the row } end end end local function detailsCallback(event) if ( event.isError ) then print( "Network error!") else data = json.decode(event.response) eventTitle = "testagsjahsjahjsas" end end -- -- this function gets called when we tap on a row. -- local onRowTouch = function( event ) if event.phase == "release" then local id = event.target.index --params = event.row.contentType -- get details here --showDetails(event.row.resourceID) local params = { contentType = event.row.contentType, resourceID = event.row.resourceID, --resourceID = event.target.index, eventTitle = event.row.eventTitle } print("ID is " .. event.row.eventTitle) composer.gotoScene("viewDetails", {time=250, effect="crossFade", params = params}) end return true end local function onRowRender(event) local row = event.row row.img = display.newImage("Icon.png") row.img.x = math.floor(row.img.width\*0.5 + 6) row.img.y = math.floor(row.img.height\*0.5 + 10) row:insert(row.img) row.title = display.newText( row.params.title, 12, 0, 250, 0, "Verdana", 12 ) row.title.anchorX = 0 row.title.anchorY = 0.5 row.title:setFillColor( 0 ) row.title.y = 22 row.title.x = row.img.width + 10 row:insert(row.title ) local options = { --parent = textGroup, --text = "SAT, JUN 21 @ 7:30 AM", text = row.params.venue, x = 0, y = row.title.height + row.title.y + 6, width = display.contentWidth, --required for multi-line and alignment font = "Verdana", fontSize = 10, align = "center" --new alignment parameter } row.venue = display.newText(options) row.venue:setFillColor( 0) row.venue.anchorX = 0 row:insert(row.venue) local options = { --parent = textGroup, --text = "SAT, JUN 21 @ 7:30 AM", text = row.params.eventDate, x = 0, y = 75, width = display.contentWidth, --required for multi-line and alignment font = "Verdana", fontSize = 10, align = "center" --new alignment parameter } row.eventDate = display.newText(options) row.eventDate:setFillColor( 0) row.eventDate.anchorX = 0 row:insert(row.eventDate) row.contentType = "event" row.resourceID = row.params.resourceID row.eventTitle = row.params.title end local function purgeList(list) list:deleteAllRows() end function scene:create( event ) local sceneGroup = self.view --local background = display.newRect(0,0,display.contentWidth, display.contentHeight) local background = display.newImageRect('bg.png',900,1425) --background:setFillColor( 0.95, 0.95, 0.95 ) background:setFillColor( 196, 255, 156, 255 ) background.x = display.contentWidth / 2 background.y = display.contentHeight / 2 sceneGroup:insert(background) tableView = widget.newTableView { onRowRender = onRowRender, onRowTouch = onRowTouch, listener = scrollListener } -- Insert rows local function apiCallback(event) if ( event.isError ) then print( "Network error!") else data = json.decode(event.response) local rowData = data.data for key,value in pairs(rowData) do --actualcode print(key .. "---" .. value.title) tableView:insertRow{ rowHeight = 90, params = { title = value.title, eventDate = value.datetime\_utc, venue = value.venue.city, resourceID = value.event\_id } -- Include custom data in the row } end end end network.request( URL, "GET", apiCallback ) sceneGroup:insert(tableView) end function scene:show( event ) local sceneGroup = self.view local phase = event.phase if phase == "will" then -- Called when the scene is still off screen and is about to move on screen elseif phase == "did" then -- Called when the scene is now on screen -- -- INSERT code here to make the scene come alive -- e.g. start timers, begin animation, play audio, etc. purgeList(tableView) network.request( URL, "GET", apiCallback ) end end function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if event.phase == "will" then -- Called when the scene is on screen and is about to move off screen -- -- INSERT code here to pause the scene -- e.g. stop timers, stop animation, unload sounds, etc.) print("exit scene") purgeList(tableView) elseif phase == "did" then -- Called when the scene is now off screen end end function scene:destroy( event ) local sceneGroup = self.view -- Called prior to the removal of scene's "view" (sceneGroup) -- -- INSERT code here to cleanup the scene -- e.g. remove display objects, remove touch listeners, save state, etc. end --------------------------------------------------------------------------------- -- Listener setup scene:addEventListener( "create", scene ) scene:addEventListener( "show", scene ) scene:addEventListener( "hide", scene ) scene:addEventListener( "destroy", scene ) ----------------------------------------------------------------------------------------- return scene