1

私のアクティビティでは、次のように you-tube ビデオ コンテンツを Web ビューにロードしています。

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

you tube ビデオを読み込んでいます。再生ボタンをクリックすると、ビデオが再生されます。これはすべて正常に機能しています。

画面を回転させたとき 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)を上書きします。video.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);

savedInstanceStatenull でない場合にのみ状態を復元します。それ以外の場合は、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 に答える