在安卓设备上加载一个div到webview中

9

我有一个安卓应用程序,其中包含一个WebView,我想在其中显示的不是整个网页,而只是来自该网页的一个div。需要注意的是,我无法访问该页面。


有没有不包括“使用这个库”的答案?导入整个库来做一点点的修剪似乎太过浪费了。 - SMBiggs
2个回答

14

我建议使用Jsoup。它比tagsoup更大,但提供了内置功能从URL中获取HTML,并且非常易于使用。例如,如果您想要拉取具有id为examplediv,则可以执行以下操作:

Document doc = Jsoup.connect(url).get();
Elements ele = doc.select("div#example");

然后要将你提取的 HTML 加载到你的 Web 视图中,你需要执行以下操作:

String html = ele.toString();
String mime = "text/html";
String encoding = "utf-8";
webView.loadData(html, mime, encoding);

这个程序可以工作,我能够获取HTML,但是在Web视图中显示为“网页不可用”。 - maephisto
如果没有更多的信息,我无法给你太多帮助。如果你已经获取了HTML,那么它很可能是一个有效的URL。你确定你正在使用loadData()而不是loadUrl()吗?你尝试输出HTML以查看它是什么了吗? - alexgophermix
我使用loadDataWithBaseURL后成功让它工作了。谢谢! - maephisto
3
你如何保持风格? - user3402040

2

您需要自己加载页面的HTML,提取div内容并将其作为字符串传递给WebView。 您可能会发现使用HTML解析库(例如tagsoup)对此很有用。


谢谢!你能给一些这种方法的例子吗? - maephisto

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