Problemi con TextField e WebView

Salve a tutti è il mio primo post ma  è già da un po’ che lavoro con corona, detto questo, ho un porblema con “textfield” e la “WebView” io ed  un amico volevamo sviluppare un app per eseguire una ricerca su twitter, dato che ogni social ha il suo url di ricerca, che per twitter ad esempio è 

https://twitter.com/search?src=typd&q=%23parola\_da\_cercare

avevo inserito al posto della parola chiave una variabile 

Url = "https://mobile.twitter.com/search?src=typd&q=%23" .. textField.text -- fa parte di una funzione native.newWebView( display.contentCenterX, display.contentCenterY + 800, 1250, 2800, Url )

e fin qui tutto ok solo che quando vado a inserire il testo nella casella di testo e premo invio, aggiorna le informazioni ma l’url resta invariato, come se la variabile non esistesse, ho fatto un test in console con 

print( textField.text, Url )

e anche facendo così stampa prima il testo giusto, quindi la variabile ma modificata, e dopo l’url lo lascia incompleto come se … textField.text non ci fosse.

dove sbaglio? allego sotto il codice completo

local textField = native.newTextField( display.contentCenterX, display.contentCenterY - 800, 900, 100 ) textField.text = "hash" Url = "https://mobile.twitter.com/search?src=typd&q=%23" .. textField.text local GoBtn = display.newText( "GO", 0, 0, "Arial", 70 ) GoBtn.x = display.contentCenterX GoBtn.y = 300 function GoBtn:tap(e) native.newWebView( display.contentCenterX, display.contentCenterY + 800, 1250, 2800, "https://mobile.twitter.com/search?src=typd&q=%23hash" ) print( Url ) end local function textListener( event ) if ( event.phase == "submitted" ) then var = textField.text print( textField.text, Url ) end end textField:addEventListener( "userInput", textListener ) GoBtn:addEventListener("tap", GoBtn)

Grazie in anticipo

Ciao Fede,

ad uno sguardo veloce mi sembra che ci siano un paio di cose che non funzionano.

La funzione native.webView prende 4 argomenti in ingresso e non 5 come vedo nel tuo esempio, come descritto dalla documentazione:

https://docs.coronalabs.com/api/library/native/newWebView.html

Quindi per raggiungere l’URL richiesto dovrai invocare il metodo request dopo aver instanziato la native.newWebView,  ad esempio: [lua]webView:request(“https://mobile.twitter.com/search?src=typd&q=%23hash”)[/lua]

Il problema quindi è nella funzione GoBtn che dovrebbe essere riscritta in questo modo:

[lua]

local Url = “https://mobile.twitter.com/search?src=typd&q=%23” … textField.text

function GoBtn:tap(e)
       local webView = native.newWebView( display.contentCenterX, display.contentCenterY + 800, 1250, 2800 )
       webView:request( Url )
       print( Url )
end

[/lua]

alla variabile webView volendo puoi anche aggiungere un EventListener per controllare un eventuale successo o insuccesso della native.newWebView come riportato nell’esempio della documentazione.

Non ho testato il codice ma prendo per scontato che il textField sia valorizzato correttamente.

Ciao,

Ale

Ciao Fede,

ad uno sguardo veloce mi sembra che ci siano un paio di cose che non funzionano.

La funzione native.webView prende 4 argomenti in ingresso e non 5 come vedo nel tuo esempio, come descritto dalla documentazione:

https://docs.coronalabs.com/api/library/native/newWebView.html

Quindi per raggiungere l’URL richiesto dovrai invocare il metodo request dopo aver instanziato la native.newWebView,  ad esempio: [lua]webView:request(“https://mobile.twitter.com/search?src=typd&q=%23hash”)[/lua]

Il problema quindi è nella funzione GoBtn che dovrebbe essere riscritta in questo modo:

[lua]

local Url = “https://mobile.twitter.com/search?src=typd&q=%23” … textField.text

function GoBtn:tap(e)
       local webView = native.newWebView( display.contentCenterX, display.contentCenterY + 800, 1250, 2800 )
       webView:request( Url )
       print( Url )
end

[/lua]

alla variabile webView volendo puoi anche aggiungere un EventListener per controllare un eventuale successo o insuccesso della native.newWebView come riportato nell’esempio della documentazione.

Non ho testato il codice ma prendo per scontato che il textField sia valorizzato correttamente.

Ciao,

Ale