tableview: possibile avere pulsanti per ogni riga?

3 replies [Last post]
gravina.michele
User offline. Last seen 40 weeks 1 day ago. Offline
Joined: 18 Oct 2012

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

Replies

ale
User offline. Last seen 6 days 4 hours ago. Offline
Joined: 29 Jan 2011

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

Ale

gravina.michele
User offline. Last seen 40 weeks 1 day ago. Offline
Joined: 18 Oct 2012

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

ale
User offline. Last seen 6 days 4 hours ago. Offline
Joined: 29 Jan 2011

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- 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

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

Ciao
Ale

Viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.