2016-11-27 96 views
0

everyone: 我可以訪問到TableView中的行內容:這是我的問題,我試圖在單擊時顯示TableView中選定行的內容。如何通過單擊行

在我通過這種方式添加的行onRowRender,

local function onRowRender(event)  
    local row = event.row 
    local myText = ""  
    local myText = display.newText(row,"Text to show",150,row.contentHeight/2,native.systemFontBold,30) 
end 

在我已經試過這個onRowTouch事件,

local function onRowTouchTable(event)  
    print(menuPedidos._view._rows[row.index]) //it return a table, I assumed the row selected 
    print(menuPedidos._view._rows[row.index].mytext) //it return nil 
end 

我所需要的,是保存在對象中的文本mytext的

我會感謝所有幫助,謝謝

回答

1

我想你應該將數據存儲在單獨的變量中,並將其傳遞給參數insertRow,並在insertRow中設置行的ID以便稍後參考。

for i = 1, #myData do 
    myList:insertRow{ 
     rowHeight = 60, 
     id = i, 
     isCategory = false, 
     rowColor = { 1, 1, 1 }, 
     lineColor = { 0.90, 0.90, 0.90 }, 
     params = { 
     name = myData[i].name, 
     phone = myData[i].phone 
     } 
    } 
end 

所以在onRowTouchTable,你可以做這樣的事情你Corona blog找到

local function onRowTouchTable(event) 
    local row = event.target 
    local id = row.index -- or row.id I'm not sure 

    print(myData[id]) 
end 

更多信息。此外,你可以看到YouTube視頻Corona University - Displaying Database Data Using TableView Widgets

+0

好的我明白了,但存在另一種解決方案?想知道。 –

+0

我不知道另一個解決方案。 – ldurniat