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中檢索。