Italian C'è qualcuno che sa dirmi...

efsoft

Member
Licensed User
Longtime User
Salve a tutti.

Per quanto mi ci diverta da un po', molti aspetti della programmazione per android tramite B4A non mi sono ancora chiari. Da qui la classica domanda:
C'è qualcuno che sa dirmi perchè creando un Panel tramite il codice lo ottengo dove e come deve essere ma non riesco ad ottene il funzionamento della istruzione Touch ?
Il codice applicato (e funzionante con altri oggetti senza problemi, labels, EditText etc) e pressapoco il seguente :

Inizia

Sub CreaPan
P.Initialize("Panel")
Activity.AddView(P, 160, 110, 20, 154)
P.Visible = True
P.Enabled = True
P.Color = Colors.White
P.BringToFront
Panel = P
End Sub

Finisce

Con questo ottengo la creazione del pannello tuttavia se cerco di usare l'istruzione

Sub P_Touch (Action As Int, x As Float, y As Float) As Boolean
Select
.........................
.........................
End Select
Return True
End Sub

non ottengo alcuna reazione toccando il pannello.
Notare che non è il contenuto della Sub P_Touch a creare il problema visto che se creo lo stesso pannello usando il designer tutto funziona.
Purtroppo io ho necessità di usare il pannello in modo dinamico (ovvero di distruggerlo e ricrearlo al volo come altri elementi di progetto.
Ho l'impressione di dover gestire o attivare le funzioni usate da touch tipo ACTION_UP, ACTION_MOVE etc ma non riesco a inserirlke o gestille in fase di CreaPan.
Qualcuno ha idea di cosa manca nel codice per farlo funzionare ?
Grazie dell'attenzione
Franco (efsoft)
 

giannimaione

Well-Known Member
Licensed User
Longtime User
??????? Panel = P ????????????? che significa ??????

al volo , ma non ho modo di provare

dim p as panel
p.initialize ("toccami")
p. bla .. bla .. bla
''''' e qui vado un po a ricordo, non ho modo di provare ''''
Sub toccami_Touch (Action As Int, X As Float, Y As Float)
'
' e qui che si genera l'evento Touch
'
End Sub
 

efsoft

Member
Licensed User
Longtime User
Ti ringrazio della tempestiva risposta e ti confermo che funziona perfettamente. Grazie ancora
 
Top