Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

Problemi con TextField e WebView
Started by fedevitale99 Jul 26 2015 01:52 PM

1 reply to this topic
variabile casella testo url native webview textfield
[TOPIC CONTROLS]
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

fedevitale99

[GLOBAL: userInfoPane.html]
fedevitale99
  • Observer

  • 2 posts
  • Corona SDK

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



[TOPIC: post.html]
#2

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

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:

webView:request("https://mobile.twitter.com/search?src=typd&q=%23hash")

 

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

 

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

 

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




[topic_controls]
[/topic_controls]