1

在我的活动中,我将 youtube 视频内容加载到我的网络视图中,如下所示:

webview.loadData("<iframe class=\"youtube-player\" " +
"type=\"text/html\" "+" src=\"http://www.youtube.com/embed/bIPcobKMB94\" frameborder=\"0\">", "text/html", "UTF-8");

这是加载你的管视频。单击播放按钮后,视频正在播放。所有这一切都很好。

当我旋转屏幕时如何在 Web 视图中恢复视频状态是指视频是否在旋转前播放了 30 秒。我必须在旋转后 31 秒开始。申请

webview.saveState(bundle);
webview.restoreState(bundle); 

onSave 和 onRestore 生命周期方法对我不起作用。

4

3 回答 3

0

您想从之前的位置恢复视频。假设您调用了 onPause() 方法。覆盖 onpause 方法并将 int a = video.currentlocation() 的值加载到变量中,然后覆盖 onresume 方法,vide.seekto(a)。视频.start();

于 2012-09-06T08:10:05.467 回答
0

您可以以编程方式创建 WebView,而不是将其定义到您的布局文件中。

而不是在您的布局中创建一种带有 ID 的 ViewGroup,在活动中创建 WebView 后,只需将其添加到此 ViewGroup 中。

onSaveInstanceState(Bundle outState)在方法中保存 WebView 的实例

webView.saveState(outState);

onCreate(Bundle savedInstanceState)并通过以下方法恢复它

webView.restoreState(savedInstanceState);

savedInstanceState仅当不为空时才恢复状态;否则配置您的 webView。如果 webView 的状态正在恢复,则无需重新配置。

非常感谢https://twigstechtips.blogspot.ru/2013/08/android-retain-instance-of-webview.html

于 2017-10-03T12:41:32.757 回答
-1

到目前为止,我找到的最佳解决方案是 - 将 Web 视图放在框架布局中并自行处理方向更改。在配置更改时,从框架布局中删除 web 视图并在将 web 视图添加到框架布局之后重置主视图。工作样本链接

于 2012-09-07T07:26:48.700 回答