0

私のアクティビティでは、Aextendsという内部クラスがありAsyncTaskます。デバイスが回転したときにアクティビティが破棄されて再作成されることは望ましくありません。走り続けてほしい。私はこのリンクRotationAsyncを読み ました。彼らはAsyncTaskの静的クラスを使用しています。アクティビティで多くの変数を宣言したので、静的クラスを使用すると、アクティビティの変数を使用できません。の静的クラスを使用せずに上記のリンクのようにする別の方法はありAsyncTaskますか?回答ありがとうございます。私の英語に間違いがあったらごめんなさい。

4

2 に答える 2

1

マニフェストで次の設定を使用して、アクティビティが再開しないようにすることができます。

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

その後、このコードを使用して変更を管理できます

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

// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
    //do something here
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
    //do something here
}

}

詳細については、http://developer.android.com/guide/topics/resources/runtime-changes.htmlをご覧ください。

于 2011-12-05T15:03:11.747 に答える
0

変数を保持するために、それらをバンドルに保存し、再作成時にアクティビティの状態を再ロードできます。これで開始できます:http://developer.android.com/guide/topics/fundamentals/activities.html#SavingActivityState

于 2011-12-05T14:38:01.693 に答える