2013-07-06 11 views
8

Quando creo l'attività per la prima volta, tutto funziona correttamente. Tuttavia, dopo ho scelto dal menu per modificare un testo dei valori di stringa e impostare il WebView daÈ stato necessario caricare i dati due volte per aggiornare WebView in Android

webview.loadData(result, "text/html; charset=UTF-8", null); 
webview.loadData(result, "text/html; charset=UTF-8", null); 

devo farlo due volte, o il WebView manterrà invariato. C'è qualcuno sa cosa succede qui? Dal momento che il risultato String è lo stesso, perché webview mi costringe a caricare Data due volte?

+0

Sto avendo esattamente lo stesso problema. Hai trovato un modo per risolverlo? – Javide

+0

No, lo carico solo due volte. Come è meglio che non mostrare la cosa giusta. Penso che forse è correlato alla cache. Quindi se hai tempo, prova con 'public void clearCache (boolean includeDiskFiles)' o 'public void clearHistory()' e vedi se funziona. Non ho il tempo di provarlo perché sono impegnato a fare qualcos'altro. Quindi, per favore dimmi se funzionano o no. Grazie. –

+0

Ho trovato il problema che stava interessando il mio caso. My WebView è una sottoview di un ViewSwitcher. Ho incorporato WebView in un LinearLayout e questo è stato il motivo per cui WebView non veniva visualizzato la prima volta che veniva caricato. Rimozione di LinearLayout risolto il problema. – Javide

risposta

0

Non so qual è il tuo problema, ma guardando la documentazione WebView, si utilizza il metodo loadData torto:

Webview:loadData documentation

Probabilmente necessario chiamare il WebView in questo modo:

webview.loadData(result, "text/html", "UTF-8"); 

Non so se risolverà il tuo problema.

+1

Siamo spiacenti, la tua risposta non è ancora vicino. Vai su google translate e scrivi qualcosa nella tua lingua e poi traducilo in cinese o giapponese. Quindi copia questi caratteri nel tuo progetto e confronta i nostri codici e scoprirai che la mia webview è la stessa di google translate e la tua è con caratteri sbagliati in. –

+0

In effetti, la mia risposta è assolutamente sbagliata: D l'ultimo parametro è per tipo di codifica come Base64 o ASCII. Mi dispiace, ma non posso aiutarti con il tuo problema:/ – Benoit

+0

Va bene. Avevo fatto questo errore nel mio codice come facevi prima. Inoltre, ancora grazie per il tuo impegno. Tuttavia, rimuovi la risposta a 0, se sei tu a segnarlo. La mia reputazione non è sufficiente per tornare a 0. –

Problemi correlati