24

私のアプリケーション-WebViewを使用したアクティビティは、画面の回転時に自動更新され、アクティビティが最初の1に戻りました。

例:WebViewはA-> BまたはBCから切り替えると3つのアクティビティ(A、B、C)を処理し、画面が回転しているときにAに戻ります。

私の質問:イベント画面の回転でアクティビティを維持するにはどうすればよいですか?

4

3 に答える 3

48

この問題に取り組むには、複数のアプローチがあります。

簡単な方法は、マニフェストandroid:configChanges="orientation|screenSize"の関連するものに追加することです。Activityこのフラグを設定することで、Androidにを破棄しないように指示し、Activityすべての向きの変更(存在する場合)を自分で処理するように指示します。

より現代的なアプローチは、フラグを使用して、WebView内部をaに入れ、Fragmentそのインスタンスを保持するようにすることです。setRetainInstance(true)ホスティングActivityは向きの変更時に破壊されますが、それ自体を再作成する必要なしに、Fragment含むものWebViewは単に切り離されて再接続されます。この機能の例は、APIデモにあります。FragmentサポートライブラリはHoneycomb以前の互換性のあるフラグメントの実装を提供しているため、「通常の」クラスのAPIレベルにだまされないように注意してください 。

于 2012-06-07T01:12:37.137 に答える
10

@kirgyコメントを強調 orientation|screenSize表示します。APIが3.2より大きい場合は、マニフェストに追加する必要があります。APIがないと機能しない場合があります。

于 2014-02-16T12:57:40.327 に答える
5

画面の向きが変わったときに再起動しないように、マニフェストファイルに追加android:configChanges="orientation"します。

お気に入り::

   <activity android:name=".MyActivity"     
    android:configChanges="orientation|screenSize"  
    android:label="@string/app_name">

いくつかの参考資料については、これを参照してください。

于 2012-06-07T01:13:14.137 に答える