WebView显示黑屏

3

我有点尴尬地发布这篇文章,但我似乎无法弄清楚我的错误在哪里。我查看了每个示例和教程,一切看起来都是正确的。我正在做以下事情。我有一个列表视图,当您单击其中一项时,它将带您转到一个WebView,该WebView显示与该列表条目相关联的一些静态格式化文本。

我已经使用TextView使其全部工作,但我想能够使用HTML格式化文本,并且认为WebView是正确的选择。现在,它只应该显示用于测试目的的通用链接,但是当viewContent意图启动时,它只会进入黑屏状态。我可以返回并选择另一个条目,它也只显示黑屏。

我不确定您要查看哪些代码,因此这里是viewSection类文件和viewsection.xml布局。

viewSection.java:

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

public class viewSection extends Activity {

       /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       WebView wv;

       setContentView(R.layout.viewsection);

       wv = (WebView) findViewById(R.id.wv1);
       wv.loadData("<a href='x'>Hello World! - 1</a>",
                                               "text/html",
                                               "utf-8");
   }
}

viewsection.xml:

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

2
您可能想要将WebViewandroid:layout_height设置为fill_parent。我不确定WebView是否支持wrap_content编辑:您还需要将LinearLayout的宽度和高度设置为fill_parent
此外,如果您使用非常轻量级的HTML样式,则仍然可以使用TextView;在API Demos示例应用程序中有关于如何实现这一点的示例(即StyledText.javaLink.java)。

我可以查看样式文本。更改布局高度并没有解决它。还有其他想法吗? - Ian
1
请看我的编辑,关于LinearLayout的宽度和高度。实际上,你可能甚至不需要一个LinearLayout,只需将WebView放在顶层即可。 - Roman Nurik
太好了。移除LinearLayout解决了问题。非常感谢你! - Ian
实际上,WebView确实支持wrap_content。但是将WebView从LinearLayout中拿出来有点棘手。此外,如果您在应用程序上运行的操作系统版本也包含在内,那就更好了。这将产生很大的影响。 - Kaili
这对我也有用。我使用了: WebView web(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT,1f)); - Jeremy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接