繁体   English   中英

WebView无法加载数据?

[英]WebView not Loading Data?

我正在尝试使用WebView从rss feed加载解析的html数据,但webview声称该页面:

“data:text / html; utf-8,[我试图显示的html]”

不可用。

替代文字

我觉得奇怪的是,当我只是希望它显示它时,它似乎将html数据放入url。

这是我现在为webview的代码:

Bundle data = getIntent().getExtras();

WebView webview = new WebView(this);
setContentView(webview);

webview.loadData(data.getString("DEFAULTTEXT"), "text/html", "utf-8");

HTML已在Bundle中的字符串中传递,标识符为:DEFAULTTEXT。 我已经测试了这个类,并且HTML传递得很好,它只是没有正确显示。

它在我试过的一些网页上工作得很好,但其他网页却没有。 我将尝试发布一个有效的代码和一个无代码的代码。

Huuu ....所以我今天早上打开电脑,工作得很好。 我还是不知道问题是什么。 :/

编辑:没关系。 它适用于我试图显示的一些页面,但不是所有页面。

Edit2:交换出来为loadDataWithBaseURL工作就像一个魅力。

如上所述,当你的HTML中有'%','\\','#'等字符时,需要对其进行转义,而loadData似乎并不会自动执行。

loadDataWithBaseURL而不是loadData确实转义,似乎解决了这个问题。 只需对baseUrl和historyUrl使用null。 所以问题中的示例代码更改为:

Bundle data = getIntent().getExtras();

WebView webview = new WebView(this);
setContentView(webview);

webview.loadDataWithBaseURL(null,data.getString("DEFAULTTEXT"), "text/html", "utf-8",null);

我相信loadData *的这种零星行为是因为您尝试加载的页面内容是什么。 如果它是简单的html它没有问题。 但如果它有像​​css或其他需要外部信息的功能的组件,它将会纾困。 我的经验!

您确定您在manifest.xml中定义了正确的权限吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM