4

私は Android には比較的慣れていませんが、過去 1 年間にかなりの数のアプリを作成したので、ご容赦ください。

デバイスでアプリを実行しているときに、デバイスを回転させて画面の向きを変更すると、表示されているアクティビティが完全に再作成されることがわかっています。YouTube アプリ (Nexus 7 w/ Android 4.2.2 を使用) にアクセスし、ビデオを再生してから、画面を反転して向きを変更します。ビデオは再生し続け、それに応じてすべてのサイズが変更されます...アクティビティが完全に再現されている場合、これはどのように可能ですか?

ありがとうございました。

4

2 に答える 2

4

AndroidManifest.xml に android:configChanges を追加すると、向きが変わったときにアクティビティが再作成されるのを回避できます。ランドスケープ モードとポートレート モードが同じレイアウトであることを願っています。

    <activity android:label="Your Activity Name" 
    android:configChanges="keyboardHidden|orientation|screenSize"
      android:name="com.yourpackage">

これにさらに追加するには、メソッドとメソッドを確認することをお勧めします。onPause()フラグメントonResume()で遊んでいる場合は、xml の変更を適用するのではなく、「Activity is destroy by design.」として監視するonSaveInstanceStateことonRetainInstanceState勧めします。

http://developer.android.com/training/basics/activity-lifecycle/index.html

于 2013-04-07T01:55:35.547 に答える
-1

アクティビティ内でローカル変数の値が失われることが心配な場合は、これらの変数の一部にシングルトン パターンを使用できます。これは美しい解決策ではありませんが、うまくいく可能性があります。

于 2014-11-16T03:05:15.987 に答える