2012-03-19 1 views
5

私は、WebViewの読み込み中のページとJavaScriptの値をオリエンテーションの変更とアクティビティの一時停止に保ちました。 最初にconfigChangesをオーバーライドしようとしましたが、GUIが正しく更新されませんでした(向きが変わったときに位置が変わるスライダードローラーがあります)。その後、私は、WebViewをフラグメントに入れてsetRetainInstance(true)を呼び出そうとしました。しかし、これはWebViewのコンテンツを損なわれないようにします。私はそれを再作成せずに同じオブジェクトを維持しようとしましたが、アンドロイドはビューをそのように再利用することはできません。オリエンテーションの変更でAndroid Webviewのコンテンツを失ってはいけませんが、GUIを正しく更新する必要があります。

私の質問は:他のGUIコンポーネントが正しく更新されている間、すべての方向の変更にそれをリロードせずにwebviewの内容を保持する方法はありますか?

私の質問がはっきりしていることを願っていますが、不明確な点がある場合は詳しく説明します。

編集:私はすでにアンドロイド追加してみました:configChanges = |私のマニフェストに「keyboardHidden向き」、それは私が「オーバーライドconfigchanges」によって意味したものである

それは再びすべてのjavascriptの変数を更新することである唯一の解決策のように思えますオリエンテーションの変更。私はjavascriptを使ってまだ膨大な量の更新プログラムを実行していないので、この操作の速度とリソースについて多くの洞察を得ることはできません。

答えて

0

活動

android:name=".YourActivityHere" 
android:configChanges="keyboardHidden|orientation" 
+0

をこの答えを見つけた私はすでにそれは私がconfigChangesをオーバーライドすることでどのような意味であることを試してみました。私はこれを実装すると、私のGUIは再作成されませんし、インスタンスのための私のslidindrawerは適切に更新されません – Wottah

0

は線の下に追加します。これは、あなたのクラスでマニフェスト

android:configChanges="orientation|keyboardHidden"></activity> 

この中にこれを入れ

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 
} 
+0

私はすでにconfigChangesをオーバーライドすることによってそれを意味しました。私はこれを実装するとき、私のGUIは再作成されませんし、インスタンスのための私のslidindrawerは適切に更新されません – Wottah

0

を試してみてください.....あなたandroidmanifestファイルでこれを追加androidマニフェストファイル。

android:configChanges="keyboardHidden|orientation"

+0

私はすでにconfigChangesをオーバーライドすることによってそれを意味しました。私はこれを実装するとき、私のGUIは再作成されませんし、私の例では、私のslidindrawerは正しく更新されません。 – Wottah

4

は、私はあなたがすでに

android:configChanges="keyboardHidden|orientation" 

を試してみましたが、これを試してみてください知っている代わりに

android:configChanges="keyboardHidden|orientation|screenSize" 

のAndroid 3.2で、最大 "画面サイズ" の変更を、あなたがするのWebViewの原因となる回転させますそれ自体を再現する。詳細は以下のリンク先の解答をご覧ください。

私はここ https://stackoverflow.com/a/11903546/655822

関連する問題