2016-05-24 80 views
0

APP描述Android的,滾動的WebView到Y位置後的數據加載

我爲Android編寫本EPub讀者代碼。

圖書部分(HTML)加載到的WebView

問題

設備旋轉後我試圖滾動到的WebView文本的最後一個位置。

由於我沒有從URL加載網頁,而是從本地保存的EPUB文件中的HTML,所以數據通過loadData(text,...,...)加載到webview中。

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

我發現這個函數是異步的,我必須等待,直到數據完全加載,然後嘗試滾動。

我已經試過諫解決方案,如

final int Y = savedInstanceState.getInt(CURRENT_WEBVIEW_POSITION_Y); 

webView.postDelayed(new Runnable() { 
    public void run() { 
     if (webView.getProgress() == 100) { 
      webView.postDelayed(new Runnable() { 
       public void run() { 
        webView.scrollTo(0, Y); 
       } 
      }, 10); 
     } else { 
      webView.post(this); 
     } 
    } 
}, 10); 

final int Y = savedInstanceState.getInt(CURRENT_WEBVIEW_POSITION_Y); 

while (webView.getProgress() < 100){ 
    Thread.sleep(50); 
} 
Thread.sleep(10); 
webView.scrollTo(0, Y); 

,但他們沒有工作。

webview的Y位置正確地存儲在bundle中並從bundle中檢索。

回答

相關問題