2014-01-26 97 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

请检查正确的答案。 –