我正在开发的应用程序是从博客页面获取内容作为jsoup节点/元素,某些页面包含youtube嵌入式标签iframe
像这样
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/VXD6a_LgBaQ/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/VXD6a_LgBaQ?feature=player_embedded" width="600"></iframe>
我正在寻找一种用imageView替换所有iframe youtube标记并在其上显示缩略图的方法,那就是当用户单击图像时,该应用程序通过其意图打开YouTube应用程序并查看视频。
我发现回答某人here ,他可以用Image Views替换img标签,我成功获取了YouTube链接和缩略图,并在ImageView上查看了图像
Element element = document.body();
String youtubeThumbnailImageSrc = element.getElementsByClass
("YOUTUBE-iframe-video").attr("data-thumbnail-src");
String youTubeLink =
element.getElementsByClass("YOUTUBE-iframe-video").attr("src");
Log.e("YouTube thumbnail", youtubeThumbnailImageSrc);
Log.e("Youtube link", youTubeLink);
if (youtubeThumbnailImageSrc.isEmpty()) {
youtubeThumbnailImagesetVisibility = 8;
intent.putExtra("youtubeThumbnailImagesetVisibility",
youtubeThumbnailImagesetVisibility);
} else {
intent.putExtra("youTubeThumbnail", youtubeThumbnailImageSrc);
intent.putExtra("youTubeLink", youTubeLink);
}
应该是这样的目的地
答案 0 :(得分:5)
致电时
String youtubeThumbnailImageSrc = element.getElementsByClass
("YOUTUBE-iframe-video").attr("data-thumbnail-src");
您只会获得第一个元素的属性值。
您需要手动进行迭代以获取所有链接:
for (Element e : element.getElementsByClass
("YOUTUBE-iframe-video")) {
String youtubeThumbnailImageSrc = e.attr("data-thumbnail-src");
System.out.println(youtubeThumbnailImageSrc);
}