2010-04-02 179 views
9

嘗試創建WebView,但它只顯示空白/白頁。我跟了幾個例子,他們都表示,與此代碼的工作...Android WebView顯示空白頁

這裏是我的代碼:

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class PostenWebView extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.web_view); 
     WebView webview = (WebView)findViewById(R.id.webview); 
     webview.loadUrl("http://www.google.com"); 
    } 
} 

這裏是web_view.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
    /> 
</LinearLayout> 
+1

我也有這個問題。我的代碼: \t \t mWebView =(WebView)findViewById(R.id.web_view); \t \t mWebView.getSettings()。setJavaScriptEnabled(true); \t \t mWebView.getSettings()。setSavePassword(false); \t \t url =「http://www.google。com「; \t \t \t mWebView.loadUrl(url); 直到方向改變後才顯示網頁,然後頁面顯示正常 – Richard 2010-07-07 17:07:26

+0

同樣的問題在這裏直到方向才顯示網頁改變或點擊webview,然後頁面顯示正常,任何解決方案! – user4500 2013-04-04 13:43:25

回答

3

您必須將權限添加到您的AndroidManifest.xml文件。

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

Alreade做到了......我在我的應用程序中使用互聯網進行其他幾項活動,他們工作得很好,所以不能做什麼它顯示一個空白頁面...:/ – Sara 2010-04-02 17:28:39

+0

我不知道其他任何事情,除此之外,請確保你有3G圖標任務欄,如果你在模擬器中這樣做,重新啓動它幾次以獲得它。 – Pentium10 2010-04-02 17:32:01

14

您需要啓用Javascript(.getSettings().setJavaScriptEnabled(true)),或者選擇一個不依賴於Javascript的網頁。

+0

我我正在嘗試閱讀使用http://stackoverflow.com/a/3134609/336990的gmail帳戶的標題,但最終的html內容我得不到ab樂在Web視圖中加載..顯示我的空白屏幕,如果我在瀏覽器上運行相同的HTML數據文件,它顯示我選擇我的郵件帳戶允許access ...爲什麼它在模擬器中顯示空白屏幕 – CoDe 2012-05-23 12:15:05

+8

問題並不取決於Javascript已啓用 – miniBill 2012-09-26 08:32:03

1

我發現了一個終於有效的例子! :)

https://apps-for-android.googlecode.com/svn/trunk/Samples/WebViewDemo/src/com/google/android/webviewdemo/WebViewDemo.java

但問題也與URL,當我試圖通過我的WebView去到google.com在瞬間拉開我在我的手機瀏覽器的普通...但其他URL的工作就好了:)

+3

您提供的URL目前不存在,您可以在其他地方發佈您的解決方案嗎? – Darpan 2012-09-04 09:37:16

+0

提供的鏈接已死亡 – iancrowther 2012-11-29 12:37:41

+0

現在工作,謝謝 – 2014-02-24 07:34:47

0

你可能會被重定向.. 剛剛安裝webviewclient與您的Web視圖:)

-2

快速和骯髒的解決方案,可當你的Android應用上手根據Web視圖設置背景色allong例如我使用黑色,所以 myWebView.setBackgroundColor(Color.parseColor( 「#000000」));

+2

這不是她的問題的解決方案 – miniBill 2012-09-08 14:59:00

-3

,如果你嘗試加載HTTPS URL(如Foursquare的驗證URL)不要忘記

webview.clearSslPreferences();

試圖加載

+6

她不是試圖加載https網址。並且盲目地使用'clearSslPreferences'就是災難的祕方 – miniBill 2012-09-08 14:58:16

+1

如果我們加載https網站會怎麼樣?這有用嗎?它會造成什麼問題? – speedynomads 2016-02-12 09:30:38

0

這可能是因爲當你要加載之前調用www.google.com的實際網址不同(我在瀏覽器中嘗試了自己的www.google.com,最終的網址稍有不同)。有一個已知的錯誤,將不允許web視圖加載URL的參數。還有一個修復。

雖然我無法讓它工作。對不起,我找不到相關的鏈接。前一段時間我發現了這個問題。

1

使用webview.setLayerType(WebView.LAYER_TYPE_SOFTWARE,null);方法

+0

你救了我的一天!謝謝。 – 2015-12-28 09:22:32

+2

這是什麼問題,以及它如何解決它? – speedynomads 2016-02-12 09:29:42

+0

嗯,它正在做的是改變渲染器呈現頁面的方式,在這種情況下,使用軟件渲染器(cpu),爲什麼這實際上有助於我不知道的任何事情。 – 2017-02-03 06:21:50

2

它工作正常,我

WebView webView = (WebView)findViewById(R.id.webView); 

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

webView.loadUrl("http://www.google.com"); 

祝您好運!