2012-04-30 7 views
17

Ho una classe personalizzata che estende WebView che visualizza il contenuto HTML. Quando l'utente fa clic su un collegamento nel documento HTML, ho calcolato un valore X per scorrere, e quindi utilizzare scrollTo (x, y) per dimostrare che posizione tramite un eseguibile (vedi sotto)Android WebView non riesce a visualizzare il contenuto fino all'interazione dell'utente

post(new Runnable() { 

      @Override 
      public void run() { 

       scrollTo(x, 0); 
       MyWebView.this.invalidate(); 
       MyWebView.this.buildDrawingCache(); 
       MyWebView.this.refreshDrawableState(); 
       MyWebView.this.postInvalidate(); 
      } 
     }); 

Dopo lo scorrimento, c'è una possibilità che la webview non riesca a rendere l'intero documento. Pezzi rettangolari di spazio bianco sono mostrati dove dovrebbe essere il testo, con ogni volta posizionamenti apparentemente casuali. Ecco uno screenshot: http://i.imgur.com/g192Y.jpg

Quando tocco la vista Web per scorrere, renderà immediatamente le parti mancanti.

Finora questo comportamento è vincolato al Samsung Galaxy 10.1" tablet.

Qualcuno sa una soluzione/come forzare WebKit alla pagina di ri-renderizzare?

+1

C'è fortuna qui? Avere un problema simile. Funziona bene in Jelly Bean, ma è un problema costante in ICS. –

+1

Ho questo problema esatto anche su Jelly bean. Comunque funziona bene su Kitkat. –

risposta

6

Bene Sto avendo la stessa identica problema qui con quel tablet, l'unica differenza è che sto usando iscroll per fare tutto lo scrolling.La soluzione che sto usando per questo problema è quella di "scorrere" tramite JavaScript un DIV nascosto e che ha risolto il problema. può aiutare chiunque abbia lo stesso problema.Se si utilizza iscroll hanno un metodo per "scorrere" verso una posizione fissa, forse ciò può aiutare anche, se non lo è non così difficile da rilevare il touchmove o mousemove eventi. Il punto qui è che devi solo simulare una scroll in qualsiasi punto dell'html anche se non è visibile.

Problemi correlati