Ti sbagli, gli altri eventi legati al touch non funzioneranno come ad esempio il click e Longclick, sostituisce la Sub degli eventi
Ti dico che non lo crea perché già viene creato quando lo inizializzi quindi Basterebbe che tu aggiungi una sub NomeVista.Touch e già l'evento sollevato ti chiama la sub
.
Ti sbagli anche per b4j.
L'evento creato come nelle specifiche di Java è Node_Event
In un posto troverai anche un link che specifica Come gestire gli eventi virgola proprio il posto cui facevi riferimento tu
L'unico mio errore che non esiste l'evento Listener come in android
Giustamente mi hanno fatto notare che gli eventi sollevate nelle viste in Java sono a altri e legati al mouse
Ti spiego, questo codice che mi é stato suggerito:
B4X:
Dim jo As JavaObject = View
Dim e As Object = jo.CreateEvent("javafx.event.EventHandler", "ViewJ", False)
jo.RunMethod("setOnTouchMoved", Array(e)) 'change the event to fit your purpose
Solleva ViewJ_Event() e non ViewJ_OnTouchMoved(). Quindi è corretto
Quello che mi mancano sono i parametri che Credevo cosi ViewJ_(EventData As MouseEvent) ma in realtà me lo solelva ma mi da errori di parametri
Anche io mi inservosisco se cercano di darmi consigli su argomenti che non conoscono neanche troppo bene e finisce che sono io a dovergli spiegare delle cose
Ed a quel punto non t'ho dato consigli specifici, ma ti ho fatto notare l'errore già nella parte b4a, ti ho riportato il codice che ti hanno suggerito e dove cercare nome-evento e parametri.
Comunque, hai ragione, meglio che io dia suggerimenti sicuri.
Se poi non ne dò affatto, meglio ancora, risparmio tempo da usare meglio
Dim jo As JavaObject = View
Dim e As Object = jo.CreateEvent("javafx.event.EventHandler", "ViewJ", False)
jo.RunMethod("setOnTouchMoved", Array(e)) 'change the event to fit your purpose
Che funziona, ma quello che manca e quali parametri passare al
B4X:
ViewJ_Event()
che viene sollevato correttamente, perché il codice é corretto , ma che da errore nei parametri
I tuoi suggerimento sono sempre utili, ma se rispondi senza leggere mi dai suggerimento che non mi servono, e io ti devo spiegare 10 volte la domanda prima che mi dai un suggerimento interessante. (e mi arrabbio nel frattempo) Apprezzo i suggerimenti, maLEGGI QUELLO CHE TI SCRIVO, cosi me li dai giusti al primo colpo senza dover perdere mezzora per spiegarti la domanda e tu risparmi tempo a non dare risposte che non mi servono
Sub Button1_Click
Dim jo As JavaObject = Label1
Dim e As Object = jo.CreateEvent("javafx.event.EventHandler", "ViewJ", False)
jo.RunMethod("setOnMouseDragged", Array(e)) 'change the event to fit your purpose
End Sub
Sub ViewJ_Event(MethodName As String, Args() As Object) As Object
Dim e As MouseEvent = Args(0)
Log($"X: ${e.x} - Y: ${e.x}"$)
Label1.SetLayoutAnimated(0,e.X, e.Y, Label1.Width,Label1.Height)
e.Consume
Return True
End Sub
Nel Designer ho una label denominata Label1. L'idea è che su di essa si attivi un Event Handler (setOnMouseDragged) che richiami la ViewJ_Event.
Quest'ultima sa che l'evento è di tipo MouseEvent e di conseguenza ne gestisce le proprietà.
Non so se non convenga gestire un DragEnd piuttosto che l'intero movimento. Comunque vale per tutti gli eventi (es. MouseClicked).
Sub Button1_Click
Dim jo As JavaObject = Label1
Dim e As Object = jo.CreateEvent("javafx.event.EventHandler", "ViewJ", False)
jo.RunMethod("setOnMouseDragged", Array(e)) 'change the event to fit your purpose
End Sub
Sub ViewJ_Event(MethodName As String, Args() As Object) As Object
Dim e As MouseEvent = Args(0)
Log($"X: ${e.x} - Y: ${e.x}"$)
Label1.SetLayoutAnimated(0,e.X, e.Y, Label1.Width,Label1.Height)
e.Consume
Return True
End Sub
Nel Designer ho una label denominata Label1. L'idea è che su di essa si attivi un Event Handler (setOnMouseDragged) che richiami la ViewJ_Event.
Quest'ultima sa che l'evento è di tipo MouseEvent e di conseguenza ne gestisce le proprietà.
Non so se non convenga gestire un DragEnd piuttosto che l'intero movimento. Comunque vale per tutti gli eventi (es. MouseClicked).
Sub Button1_Click
Dim jo As JavaObject = Label1
Dim e As Object = jo.CreateEvent("javafx.event.EventHandler", "ViewJ", False)
jo.RunMethod("setOnMouseDragged", Array(e)) 'change the event to fit your purpose
End Sub
Sub ViewJ_Event(MethodName As String, Args() As Object) As Object
Dim e As MouseEvent = Args(0)
Log($"X: ${e.x} - Y: ${e.x}"$)
Label1.SetLayoutAnimated(0,e.X, e.Y, Label1.Width,Label1.Height)
e.Consume
Return True
End Sub
Nel Designer ho una label denominata Label1. L'idea è che su di essa si attivi un Event Handler (setOnMouseDragged) che richiami la ViewJ_Event.
Quest'ultima sa che l'evento è di tipo MouseEvent e di conseguenza ne gestisce le proprietà.
Non so se non convenga gestire un DragEnd piuttosto che l'intero movimento. Comunque vale per tutti gli eventi (es. MouseClicked).
Come primo esercizio XUI io ho "portato" il ToastMessageShow in B4J..sembrava funzionare..forse dovrei riprenderlo e completarlo.
Ma anche un po' di ozio non fa male..
@udg, ho dato solo un'occhiata al volo al tuo thread circa il nuovo metodo di pagamento (se riuscirò a ricordarlo, lo leggerò meglio prossimamente).
Altra cosa che, tecnicamente, dovremmo tenere d'occhio è un qualcosa che ho visto in TV solo con la coda dell'occhio (TV acceso solo per sentire rumore ).
Pare qualcosa di veramente innovativo, legato al 5G: la possibilità di creare un proprio "provider", custom.
Non ne so di più.
[Sono tante le cose di cui vorrei interessarmi, che vorrei approfondire, ma i 2 neuroni ed i 2kb di ram cerebrale, non me lo consentono. Inoltre, devo sbrigarmi a completare st'app veramente inutile e finalmente prendere decisioni per Penny - Perché sto scrivendo 'sta roba? Boh, oramai l'ho scritta ]