tableview: possibile avere pulsanti per ogni riga?

Ciao a tutti.

ho utilizzato tableview per creare un elenco e fin qui tutto bene. Ad ogni voce (row) ho bisogno di inserire tre pulsanti: copia, incolla, duplica che mi consentano, velocemente, di copiare la riga, incollarla (creando automaticamente una nuova riga ed incollando il contenuto copiato) o semplicemente di duplicarla.

onRelease mi restituisce il tap sull’intera linea, ma se volessi un “listener” per ogni pulsante così da gestirli autonomamente?

Spulciando in rete non ho trovato niente che mi consenta di sviluppare questa cosa. Possibile?

Grazie per l’attenzione e l’aiuto.

Michele
[import]uid: 187901 topic_id: 33704 reply_id: 333704[/import]

Ciao,
credo che su Code Exchange ci sia qualcosa che faccia al caso tuo:
http://developer.coronalabs.com/code/reorder-table-view-items

Ale [import]uid: 30847 topic_id: 33704 reply_id: 135480[/import]

Ciao,
credo che su Code Exchange ci sia qualcosa che faccia al caso tuo:
http://developer.coronalabs.com/code/reorder-table-view-items

Ale [import]uid: 30847 topic_id: 33704 reply_id: 135480[/import]

Grazie Ale, avevo già trovato il codice che mi suggerisci e su quello sto sviluppando il mio studio di CoronaSDK. Tra le altre, se fai caso, ho segnalato un baco nel codice stesso che poi sono riuscito a risolvere. Adesso devo cercare di aggiungere un listener per il touch per ogni singola riga che creo… hai qualche hint da passarmi?

Grazie comunque per la risposta.

Michele [import]uid: 187901 topic_id: 33704 reply_id: 135958[/import]

Ciao Michele

se non ho capito male…
dovresti creare 3 pulsanti con widget.newButton all’interno dell’handler onRowRender( event ),
poi ammesso che tu già non lo faccia, quando crei il pulsante puoi assegnare anche il listener con la property onEvent.

ad esempio con qualcosa del genere:
[lua]-- handles individual row rendering
local function onRowRender( event )
local row = event.row
local rowGroup = event.view
– ecc ecc…

– Event listener del pulsante
local onButtonEvent = function (event )
if (event.phase == “release”) then

– Opero le modiche sulla lista…

end
return true
end

– Button widget.
local myButton = widget.newButton{
id = “1”,
left = 225,
top = 12,
label = “”,
width = 90, height = 46,
cornerRadius = 8,
onEvent = onButtonEvent ----Event Listener del pulsante
}

end[/lua]

Spero di aver capito e che questo ti possa essere utile.

Ciao
Ale [import]uid: 30847 topic_id: 33704 reply_id: 136132[/import]

Grazie Ale, avevo già trovato il codice che mi suggerisci e su quello sto sviluppando il mio studio di CoronaSDK. Tra le altre, se fai caso, ho segnalato un baco nel codice stesso che poi sono riuscito a risolvere. Adesso devo cercare di aggiungere un listener per il touch per ogni singola riga che creo… hai qualche hint da passarmi?

Grazie comunque per la risposta.

Michele [import]uid: 187901 topic_id: 33704 reply_id: 135958[/import]

Ciao Michele

se non ho capito male…
dovresti creare 3 pulsanti con widget.newButton all’interno dell’handler onRowRender( event ),
poi ammesso che tu già non lo faccia, quando crei il pulsante puoi assegnare anche il listener con la property onEvent.

ad esempio con qualcosa del genere:
[lua]-- handles individual row rendering
local function onRowRender( event )
local row = event.row
local rowGroup = event.view
– ecc ecc…

– Event listener del pulsante
local onButtonEvent = function (event )
if (event.phase == “release”) then

– Opero le modiche sulla lista…

end
return true
end

– Button widget.
local myButton = widget.newButton{
id = “1”,
left = 225,
top = 12,
label = “”,
width = 90, height = 46,
cornerRadius = 8,
onEvent = onButtonEvent ----Event Listener del pulsante
}

end[/lua]

Spero di aver capito e che questo ti possa essere utile.

Ciao
Ale [import]uid: 30847 topic_id: 33704 reply_id: 136132[/import]