Android - активность продолжается во время вращения - PullRequest
0 голосов
/ 05 декабря 2011

В моей деятельности у меня есть внутренний класс, который называется A extends AsyncTask. Я не хочу, чтобы активность разрушалась и воссоздалась снова при повороте устройства. Я хочу, чтобы это продолжалось. Я прочитал эту ссылку RotationAsync Они используют статический класс AsyncTask. Я объявил много переменных в своей деятельности, поэтому, если я использую статический класс, я не могу использовать переменные деятельности. Есть ли другой способ сделать ссылку выше без использования статического класса AsyncTask? Спасибо за ваши ответы. Извините, если в моем английском есть ошибки.

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Вы можете запретить перезапуск вашей Деятельности, используя следующие настройки в Манифесте:

<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

0 голосов
/ 05 декабря 2011

Чтобы сохранить ваши переменные, вы можете сохранить их в Bundle и перезагрузить состояние вашей Activity, когда оно будет воссоздано.Это должно начать вас: http://developer.android.com/guide/topics/fundamentals/activities.html#SavingActivityState

...