2014-01-26 124 views
1

我即將放棄,因爲我在這個問題上花費了數小時的時間,甚至發現有相同問題的人,運行幾乎完全相同的代碼,而且沒有答案爲他們。WebView無法正確顯示網站

我有一個我不擁有的網頁,但是我將它的網頁源代碼複製到我的HTML文件中的assets文件夾中。

webview加載頁面和當時顯示的任何數據。問題1:頁面是動態的,每隔幾秒就會改變一次。

問題#2:頁面顯示如下面的2個鏈接。圖像丟失, 頁面看起來確實準系統..我不知道爲什麼。

WebView not showing website correctlyWebView not showing correctly

問題#3:加載一些頁面,看起來很好,我可以訪問他們的聯繫,但他們保持靜態,並且頁面是非常動態的(認爲reddit的)。

我的代碼是

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     //get reference to webview 
     WebView webView = (WebView)findViewById(R.id.myWebview); 

     //enable javascript on browser 
     webView.getSettings().setJavaScriptEnabled(true); 


     webView.setWebViewClient(new WebViewClient(){ 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url){ 
       view.loadUrl(url); 
       return false; 
      } 
     }); 


     String myUrl = "file:///android_asset/newfile.html"; 
     webView.loadUrl(myUrl); 



    } 

當我嘗試使用webView.loadDataWithBaseUrl();

web視圖只顯示一個白色的頁面,只是路徑我的HTML文件

例如

文件:///android_asset/newfile.html

和完蛋了。

我出於主意,希望有人能幫忙。

編輯:語法和語法。

回答

0

首先,清除此:

  1. 您正在訪問一個動態的網站(認定中:網站數據庫訪問,CMS等)
  2. 你有你的網頁上顯示的圖像的麻煩上傳

當您在資產文件夾中加載HTML文件時,您需要知道您還必須上傳圖像,CSS和每個相關內容。

二:

下面的代碼,我錯了

 @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url){ 
      view.loadUrl(url); 
      return false; 
     } 
    }); 


    String myUrl = "file:///android_asset/newfile.html"; 
    webView.loadUrl(myUrl); 

它應該是:

 @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url){ 
      webView.loadUrl(url); // --------> POINTED FAULT 
      return false; 
     } 
    }); 


    String myUrl = "file:///android_asset/newfile.html"; 
    webView.loadUrl(myUrl); 

檢查情況weView.loadUrl(...),是的WebView或web視圖

試一試並確認...

+0

更改覆蓋方法'shouldOverrideUrlLoading()'要求我將我的webview更改爲'final'。通過使用方法參數'view'重寫它就可以。 但是,無論如何,我繼續做了。它沒有改變。 當你在資產文件夾中加載一個HTML文件時,你確實說過,你需要知道你還必須上傳圖片,CSS和每一個相關內容,我會去看看如何做到這一點。 –

+0

請確保您的HTML在其中定義了正確的CSS和圖像路徑... –

+0

請檢查正確的答案。 –