0

設定をチェックしたとき、アプリケーションで1つの問題に直面しています->表示->画面の自動回転と、すべてのアクティビティが横向きモードで表示されるアプリケーションを実行すると、他のアクティビティから1つのアクティビティを起動して回転させるとボタンをクリックすると前のアクティビティに戻ります。ボタンをクリックすると、前のアクティビティが一番上に表示されますが、以前の設定データはすべて失われますが、デバイスの自動回転画面のチェックを外すと、オプションは、アクティビティの以前の状態を保持します。

よくわかりませんが、なぜこの動作が発生するのですか?

解決するのを手伝ってください。

よろしく、ピクス

4

3 に答える 3

7

AndroidManifest.xmlandroid:configChanges="orientation|screenSize"のすべてのアクティビティに設定して、向きの変更を手動でオーバーライドします

于 2012-04-10T08:33:24.497 に答える
2

方向の変更などの構成の変更は、これらのイベントを自分で特に処理しない限り、アクティビティの再現につながります。詳細については、関連するドキュメントを参照してください。

  1. http://developer.android.com/guide/topics/resources/runtime-changes.html
  2. http://developer.android.com/resources/articles/faster-screen-orientation-change.html
于 2012-04-10T08:34:47.493 に答える
0

画面を回転させると、Android アクティビティが再作成されるため、以前の状態がすべて失われます。この状況を回避するには、次のことができます

  1. Androidのmenifestファイルで再作成を停止します( android:configChanges="keyboardHidden|orientation|screenSize" を定義するだけです)。

  2. 以下を使用してハンドラーの向きを設定します。

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

縦向きモードと横向きモードでレイアウトが異なる場合は、向きを処理する必要があります

于 2012-04-10T09:00:23.107 に答える