0

i have this array in my lua...

local data = {}

data[1] = {}
data[1].title = "Crazy Song"
data[1].subtitle = "by Bruno Earth"
data[1].image = "note.png"

data[2] = {}
data[2].title = "Enter Sunman"
data[2].subtitle = "by Mentalica"
data[2].image = "note.png"

data[3] = {}
data[3].title = "Bitter Child of Mine"
data[3].subtitle = "by Gunz n bullets"
data[3].image = "note.png"

data[4] = {}
data[4].title = "Missed A thing"
data[4].subtitle = "by Ero-Smith"
data[4].image = "note.png"

data[5] = {}
data[5].title = "Pornstar"
data[5].subtitle = "by Nicklefront"
data[5].image = "note.png"

data[6] = {}
data[6].title = "Burner"
data[6].subtitle = "by Asher"
data[6].image = "note.png"

how can i get the array values by not using id on it. i just want to get the title for my conditional statement?

i try this in my code:

local getTitle = function(event)
    print (".................")
    print (event.target.id)
    print (event.target.title)
end

but i got only this...

touch: began
touch: ended
.................
2
nil

how can i get and print the title of my array?

this is my code:

module(..., package.seeall)
display.setStatusBar( display.HiddenStatusBar ) 
function new()
    local localGroup = display.newGroup()
    local tableView = require("tableView")
    local ui = require("ui")

    --------------------------------------------------------------------------
    local screenOffsetW, screenOffsetH = display.contentWidth -  display.viewableContentWidth, display.contentHeight - display.viewableContentHeight

    local songList
    local backBtn
    local detailScreenText

    local background = display.newRect(0, 0, display.contentWidth, display.contentHeight)
    background:setFillColor(0, 0, 0)
    localGroup:insert(background)

    local data = {}
    --iPad: setup a color fill for selected items
    local selected = display.newRect(0, 0, 50, 50)  --add acolor fill to show the selected item
    selected:setFillColor(67,141,241,180)  --set the color fill to light blue
    selected.isVisible = false  --hide color fill until neede

    -----------------------------------------------
    data[1] = {}
    data[1].title = "Crazy Song"
    data[1].subtitle = "by Bruno Earth"
    data[1].image = "note.png"

    data[2] = {}
    data[2].title = "Enter Sunman"
    data[2].subtitle = "by Mentalica"
    data[2].image = "note.png"

    data[3] = {}
    data[3].title = "Bitter Child of Mine"
    data[3].subtitle = "by Gunz n bullets"
    data[3].image = "note.png"

    data[4] = {}
    data[4].title = "Missed A thing"
    data[4].subtitle = "by Ero-Smith"
    data[4].image = "note.png"

    data[5] = {}
    data[5].title = "Pornstar"
    data[5].subtitle = "by Nicklefront"
    data[5].image = "note.png"

    data[6] = {}
    data[6].title = "Burner"
    data[6].subtitle = "by Asher"
    data[6].image = "note.png"

    local topBoundary = display.screenOriginY + 40
    local bottomBoundary = display.screenOriginY + 0

    local getTitle = function(event)
        print (".................")
        print (event.target.id)
        print (event.target.title)
    end

    songList = tableView.newList{
        data=data,
        default="listItemBg.png",
        over="listItemBg_over.png",
        onRelease=getTitle,
        top=topBoundary,
        bottom=bottomBoundary,
        callback = function( row )
            local g = display.newGroup()

            local img = display.newImage(row.image)
            g:insert(img)
            img.x = math.floor(img.width*0.5 + 6)
            img.y = math.floor(img.height*0.5)

            local title =  display.newText( row.title, 0, 0, native.systemFontBold, 16 )
            title:setTextColor(0,0,0)
            g:insert(title)
            title.x = title.width*0.5 + img.width + 6
            title.y = 30

            local subtitle =  display.newText( row.subtitle, 0, 0, native.systemFont, 14 )
            subtitle:setTextColor(80,80,90)
            g:insert(subtitle)
            subtitle.x = subtitle.width*0.5 + img.width + 6
            subtitle.y = title.y + title.height + 6

            return g
        end
     }
    localGroup:insert(songList)
    local function scrollToTop()
        songList:scrollTo(topBoundary-1)
    end

    local navBar = display.newImage("navBar.png")

    navBar.x = display.contentWidth*.5
    navBar.y = math.floor(display.screenOriginY + navBar.height*0.5)
    localGroup:insert(navBar)

    local navHeader = display.newText("Song Lists", 0, 0, native.systemFontBold, 16)
    navHeader:setTextColor(255, 255, 255)
    navHeader.x = display.contentWidth*.5
    navHeader.y = navBar.y
    localGroup:insert(navHeader)

    --backBtn.alpha = 0

    local listBackground = display.newRect( 0, 0, songList.width, songList.height )
    listBackground:setFillColor(255,255,255)
    songList:insert(1,listBackground)

    --Setup the back button
    function changeScene(e)
        if e.phase == 'ended' then
            print ("ok")
            director:changeScene(e.target.scene, "fade")
            print ("back!")

        end
    end

    backBtn = display.newImage("backButton.png")
    backBtn.x = math.floor(backBtn.width/2) + backBtn.width + screenOffsetW
    backBtn.y = navBar.y 
    backBtn.scene = "menu"
    backBtn:addEventListener("touch", changeScene)

    return localGroup
end
2
  • How are you calling getTitle? Commented Apr 28, 2012 at 1:40
  • thanks Seth for the reply, I am using tableView.lua, i will paste my whole code.. Commented Apr 28, 2012 at 1:41

1 Answer 1

1

i got it... i do this

local getTitle = function(event)
    print (".................")
    local id = event.target.id
    print (id)
    print (data[id].title)
end
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.