2010-10-17 66 views
2

我使用loadData()後跟一個reload()更新webView中的html。我得到要顯示的新數據,但頁面的滾動沒有更新。我希望將頁面的視圖保留在底部。我可以等很長時間,但它仍然不會更新。一旦我點擊webView滾動條調整,我可以拖動到頁面的底部,看到新的文字。webview loaddata滾動設置不會更新,直到點擊

我試過的東西: - onPageFinished()中的多個設置和調用。沒有工作,因爲getContentHeight()尚未更改。我也嘗試scrollTo(100 + getContentHeight),這是行不通的。 - 下頁(真)

  • 調用重裝後requestLayout()()

  • browser.requestFocusFromTouch() - 仍然沒有好,想我可以模仿我的點擊。

  • 添加幾個br標籤。這工作了一下,但br的數量必須等於新文本的行數。由於新行的數量並不能根據方向和屏幕變量準確確定,因此這不是一個很好的解決方案。 任何想法? TIA

回答

4

如果你想它加載完成後的web視圖滾動以底部,我發現我已經在onNewPicture使用PageDown鍵(真)。 (我相信這是當一個視圖完成繪製觸發事件。)

因此,代碼看起來像

webView.setPictureListener(new WebView.PictureListener() { 

     public void onNewPicture(WebView view, Picture picture) { 
      webView.pageDown(true); 
     } 
    } 

使用PageDown鍵有明顯的滾動頁面的不幸的問題;我有問題找到其他方式跳轉到webView的底部,找到這個問題,同時尋找解決方案! (雖然我還沒有嘗試在WebView內部使用JavaScript,但是。)

+0

我必須有另一個小故障。我在pageDown期間看到頁面閃爍(Yeh!以前從未得到過),但它已經到了頁面的原始頁面。 contentHeight沒有得到更新,所以它會到頁面的虛假結尾。 Sheeesh! – Jim 2010-10-21 10:27:30

+0

我將此標記爲已回答,因爲pageDown(true)正在觸發我。我問了另一個關於如何讓contentHeight重新計算的問題。 – Jim 2010-10-21 19:41:35