我正在尝试创建用户可以查看的视频列表。这需要是动态的,因为列表将根据添加到我从中提取视频的数据库中的新条目进行更新。
对于我的项目,我通过 vimeo 的简单 API 访问视频列表。我用来显示所有信息的当前方法是通过从 StringBuilder 对象 htmlString 获取其信息的 webview 对象。
我的视图 XML 如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/videoMenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
我用来动态构建列表的代码片段如下。它返回到一个函数“onPostExecute(String result)”,该函数显示带有从 for 循环创建的 html 的 webview。
for (VideoDataParser.Entry video : videos)
{
htmlString.append("<p>");
htmlString.append("<a href=\"" + video.url + "\">");
htmlString.append("<img align=\"left\" src=\"" + video.thumbnail_url + "\">");
htmlString.append(video.title + "<br>");
htmlString.append(video.description);
htmlString.append("</p>");
}
return htmlString.toString();
我现在遇到的主要问题是图像没有加载。我想那是因为它需要另一个 HTTP 请求来获取图像。还有其他方法可以解决这个问题吗?
另外,我觉得这种创建菜单的方法可能不是最好的。当用户单击链接时,控制流会超出我的活动,并转到将播放视频的 Web 浏览器。我希望活动转到我自己的视频播放器,而不是在单击我的选项之一时使用互联网。很可能有更好的方法来做到这一点,但我不确定。
任何输入都会很棒。