2014-02-20 135 views
0

我有一個WebView嘗試加載這樣的網頁:的WebView無法加載網頁

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_web); 
    wv=(WebView)findViewById(R.id.webview); 
    WebSettings ws=wv.getSettings(); 
    ws.setJavaScriptEnabled(true); 
    wv.loadUrl("http://pro39.blutechnologies.com/crimes.aspx"); 
} 

我已經加入了互聯網許可清單

<uses-permission android:name="android.permission.INTERNET"/> 

但是web視圖是空白的,它既不會拋出錯誤,也不會加載網頁。我如何加載這樣的網頁,我只嘗試加載本地html文件,我想知道如果我必須做不同的事情。

+0

您是否也能夠在瀏覽器上查看該網址?我知道網址工作正常。 – Kedarnath

+0

是的,我可以在瀏覽器中查看網址 – vamsiampolu

+0

好的,你是在仿真器還是在真實設備中試用此代碼? – Kedarnath

回答

1

嘗試像這樣:

mWebView.loadUrl("http://pro39.blutechnologies.com/crimes.aspx"); 
mWebView.setWebViewClient(new HelloWebViewClient()); 

    private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    view.loadUrl(url); 
    return true; 
} 

使用此代碼.shouldOverrideUrlLoading() compulsary.use此代碼不能使用,請回復我這個代碼工作或不

+0

它的工作原理是將網頁重定向到其他地方......或者當我使用網址時,這個網站是否會受到欺騙,我會盡快接受答案。 – vamsiampolu

+0

只是返回false;來自shouldOverrideUrlLoading。如果頁面具有帶自定義方案的iframe,則調用view.loadUrl將導致問題。 –

+0

@ marcin.kosiba我不知道更多關於iframe。但它在我的情況下工作。 –

0

試試下面的代碼。

public class Main extends Activity { 
    private WebView mWebview ; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_web); 

     mWebview = (WebView)findViewById(R.id.webview); 
     mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript 

     final Activity activity = this; 

     mWebview.setWebViewClient(new WebViewClient() { 
      public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
       Toast.makeText(activity, description, Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     mWebview .loadUrl("http://pro39.blutechnologies.com/crimes.aspx"); 
     setContentView(mWebview); 
    } 
}