3

私は Android タブレット アプリケーションを開発しており、アプリケーションの向きを管理する必要があります。デバイスを回転させるたびに onCreate() が呼び出されるという問題がありました。

この行を Manifest.xml ファイルのアクティビティ タグに設定することで、Honeycomb (3.1) でこの問題を修正しました。問題なく動作します。

          android:configChanges="keyboardHidden|orientation"

しかし、ICS タブレットでアプリをテストすると、この問題が再び発生しました。この問題を解決する方法を知っている人はいますか?

ありがとう

よろしく。

4

3 に答える 3

10

をターゲットにしている場合は、ドキュメントで報告されているようにフラグAPI level > 13を追加する必要があります:screenSize

  android:configChanges="keyboardHidden|orientation|screenSize"
于 2012-09-28T08:31:17.167 に答える
3

onCreate()向きが変わるとアクティビティが常に再作成されるため、常に呼び出されます。それは何も悪いことではありません。これに対して適切な動作を実装するか、たとえばマニフェストに orientation=horizo​​ntal を追加して向きを変更する可能性を無効にする必要があります

于 2012-09-28T08:12:10.883 に答える
0

注意: Android 3.2 (API レベル 13) から、デバイスが縦向きと横向きに切り替わると、「画面サイズ」も変わります。したがって、API レベル 13 以降 (minSdkVersion および targetSdkVersion 属性で宣言されている) 向けに開発するときに方向の変更によるランタイムの再起動を防止する場合は、「orientation」値に加えて「screenSize」値を含める必要があります。つまり、android:configChanges="orientation|screenSize " を宣言する必要があります。ただし、アプリケーションが API レベル 12 以下をターゲットにしている場合、アクティビティは常にこの構成変更自体を処理します (Android 3.2 以降のデバイスで実行されている場合でも、この構成変更によってアクティビティが再開されることはありません)。

参照: https://developer.android.com/guide/topics/resources/runtime-changes.html

于 2016-12-01T07:29:32.523 に答える