2012-04-28 5 views
0

を使用しないでLUAで配列値を取得する私は私のLUAでこの配列を持っている...どのID

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" 

。私はちょうど私の条件文のためにtitleを得たいですか?

私は私のコードでこれを試してみてください。

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

しかし、私はこの...

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

どのように私は私の配列のtitleを取得し、印刷することができてしまっただけ?

これは私のコードです:

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 
+0

はどのようにして 'getTitle'を呼び出しているのですか? –

+0

返事のためにセスに感謝、私は 'tableView.lua'を使用しています、私は私の全体のコードを貼り付けます.. – gadss

答えて

1

私はそれを得た... 私はこの

local getTitle = function(event) 
    print (".................") 
    local id = event.target.id 
    print (id) 
    print (data[id].title) 
end 
関連する問題