如何通过单击行访问 TableView 中的行内容

大家好: 这是我的问题,我正在尝试在单击时显示 TableView 中所选行的内容。

在 onRowRender 中,我通过以下方式添加行,

local function onRowRender( event )
  local row = event.row
  local myText = ""
  local myText = display.newText(row,"要显示的文本",150,row.contentHeight/2,native.systemFontBold,30 )
end

在 onRowTouch 事件中,我尝试了以下方法,

local function onRowTouchTable( event )
  print(menuPedidos._view._rows[row.index]) //它返回一个表,我假设选择了行
  print(menuPedidos._view._rows[row.index].mytext) //它返回 nil
end

我需要的是对象 mytext 中保存的文本

非常感谢任何帮助,谢谢

点赞
用户7026995
用户7026995

我认为你应该将数据存储在单独的变量中,将其作为参数传递到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中,你可以这样做

local function onRowTouchTable(event)
   local row = event.target
   local id = row.index -- 或 row.id 我不确定

   print(myData[id])
end

更多信息请参见Corona博客。此外,您还可以观看YouTube视频Corona学院 - 使用TableView小部件显示数据库数据

2016-11-27 18:52:35