Как получить имя переменной, созданной в цикле for - PullRequest
1 голос
/ 17 мая 2019

Обычно у меня есть цикл for, который создает переменные на основе данных в базе данных, затем у меня есть прослушиватель событий, который также создается на основе цикла for, и я хочу знать, какой текст нажимается

Я пробовал события в функции, создавая переменную для моего row.name и т. Д.

for row in db:nrows( "SELECT * FROM Students WHERE Class = '"..class.."'" ) do
        print(row.Name)
        --track how many students there are 
        count = count+1
        --When displaying the names, put them in line, if they go below 1000 y level, move to the right and go down again
        ny = ny + 80
        if (ny == 1000) then
            nx = nx + 300
            ny = 280
        end
        -- Display students
        student[row] = display.newText( sceneGroup, row.Name, nx, ny, native.systemFont, 30 )
        --Make a button for every student in the row that goes to studentscene function
        student[row]:addEventListener( "tap", studentscene)
    end

Затем функция выглядит как

local function studentscene()
    composer.gotoScene( "student", { time=800, effect="crossFade" } )
end

Я хочу иметь возможность отслеживать, какое имя студентабыл нажат, но я не могу найти способ сделать это.Мне нужно это, чтобы я мог отслеживать в базе данных, какое имя это, чтобы я мог отобразить их информацию

1 Ответ

0 голосов
/ 26 июля 2019

вы можете добавить его, используя params в функции goto

    `options = {
       effect = model,
       time = time,
       params = params,
    }
composer.gotoScene( nextScene , options )`

например, сделать это params = {student="mohsen"} и в сцене: Показать функцию сделать это:

if event.params then

studen = event.params.name
end
...