2012-06-11 58 views
1

Android 2.2和3.1上的WebView類有什麼不同的行爲嗎?WebView 2.2 vs 3.1

在這裏你去一些信息,我得到了兩個不同的設備,第一個搭載Android 2.2的另一個測試相同的應用程序3.1

  • 應用程序的目標是2.1
  • 我需要的頁面訪問是一個ASP.net頁面

運行在2.2

  • shouldOverrideUrlLo ading被稱爲正常
  • onPageStarted和onPageFinished被稱爲一次從網頁流量
  • onNewPicture被調用一次,當頁面結束加載

運行在3.1

  • shouldOverrideUrlLoading是不是更稱爲,只有webView.load(url)足以做同樣的工作
  • onPageStarted和onPageFinished被調用一次
  • 來自webview isNe的新圖片

我的問題是。我需要在頁面加載時顯示對話框,但我不知道如何處理這些差異。

如果我創建onPageStarted對話框並關閉它在onPageFinished它會顯示並關閉不止一次2.2,但3.1它將正常工作

否則,如果我創建shouldOverrideUrlLoading對話框並關閉在onNewPicture上它可以在2.2上正常工作,但在3.1上它甚至不會出現。

回答

1

我用下面的:

Android WebView progress bar

把一個進度條上顯示的WebView它被加載時,您可以實現相同的,帶來了一個視圖時加載的百分比小於100%並在100%時將其取下。不過,我爲Android> = 3.0類型的設備實現了這個功能。

+0

我無法使用WebChromeClient,因爲我需要顯示頁面,用戶將無法瀏覽其他鏈接。 WebChromeClient爲您提供了一個用戶可以更改鏈接的屏幕頂部的欄。使用默認的WebViewClient我有上面提到的不同行爲。 – digulino

+0

不正確,我在我的應用程序中運行標準WebView對象,並且頂部沒有鏈接欄!我已經實現了我自己的進度計量。現在caviat是我的應用程序在3.0以上! – trumpetlicks

+0

重點是:我需要設置WebChromeClient和WebViewClient以獲得我想要的類似的方法。我試圖使用其中一種,而不是兩種。所以,我使用WebChromeClient的onProgressChange上的activity.setprogress做了一個progressbar。我真正的嘗試是在內部顯示一個帶有進度條的對話框,但我可以使用這種方法。謝謝一堆! – digulino

相關問題