为什么Android WebView显示黑屏?

问题描述:

今天下午我一直在撞墙,试图让WebView工作。以下是主类中的代码:为什么Android WebView显示黑屏?

public class fkyougoogle extends Activity { 
    /** Called when the activity is first created. */ 
WebView webview; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     webview = (WebView) findViewById(R.id.webview); 
     webview.getSettings().setJavaScriptEnabled(true); 
     // WORKS 
     //webview.loadUrl("http://www.google.com"); 
     // DOESN'T WORK 
     //webview.loadUrl("http://www.theregister.co.uk"); 
     //webview.loadData("<html><body>hello</body></html>", "text/html", "utf-8"); 
     //webview.loadDataWithBaseURL("fake://", "<html><body>hello</body></html>", "text/html", "utf-8", "http://www.theregister.co.uk/"); 

    } 
} 

这是Google的“Hello,Webview”示例。如果我使用WebView并尝试访问www.google.com,那么它工作正常。如果我尝试访问任何其他网站,那么它会失败,包括loadData,它只是在模拟器中显示一个黑屏。最后我想从本地文件中读取。

包含在清单标记下,XML模式与Hello Webview示例相同。

我在这里错过了一些明显的东西吗? :(

+0

这是针对最新的SDK和Google API :) – Biz 2009-12-30 18:01:29

+0

您是否尝试过注释掉setJavaScriptEnabled调用? – CaseyB 2009-12-30 18:17:24

+0

当黑屏出现时,adb logcat会说些什么? – 2009-12-30 18:49:00

尝试UTF-8,而不是utf-8你后两次尝试我没有问题装载http://www.theregister.co.uk使用相同的代码 - 尝试加载它内置的浏览器应用程序,如果失败,你也许遇到某种形式的防火墙/代理问题。

Here are a few projects展示的WebView的简单应用,从我的书之一。

尝试改变

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
在main.xml中*别的LinearLayout

它应该是这样的:

<?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> 
+0

我和海报有同样的问题,这为我修好了。谢谢泰勒! – 2010-01-11 18:40:40

+1

你的意思是说布局参数对webview可以载入或不载入什么url有影响? – 2010-10-23 14:28:15

+0

据: [ViewGroup.LayoutParams FILL_PARENT](http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#FILL_PARENT) 此值已被弃用在API级别8开始和替换由MATCH_PARENT提供 – 2014-02-05 14:46:03

我有一个WebView中的类似问题是完全空白,但我的情况下,它是引起由一个缺少android.permission.INTERNET使用权限。