Android startActivityForResult изменение ориентации

1

Я использую начальную активность для результата, чтобы помочь пользователям моего приложения фильтровать некоторую информацию. Как только информация будет отфильтрована, я добавлю ее в намерение, а затем позвоню. Работы прекрасно, за исключением случаев, когда пользователи поворачивают устройство, когда выполняют фильтрацию. Это заставляет первое действие создавать все заново, и так как это происходит, мои параметры фильтрации стираются (они заканчиваются до того, как onCreate завершен, поэтому пользовательский интерфейс очищается). Любые идеи о способе справиться с этим? благодаря

Теги:

1 ответ

0
Лучший ответ

Есть 3 варианта сделать это

  1. onSaveInstanceState()//Но обычно может обрабатывать небольшой объем данных

  2. onRetainNonConfigurationInstance() and getLastNonConfigurationInstance()//Предпочтительный

  3. android:configChanges="orientation|keyboardHidden" в AndroidManifest.xml

//Это не позволит перезапуска активности, используйте это, когда данные, которые вы хотите сохранить, невелики. Для api 13+ используйте этот android:configChanges="orientation|screenSize"

  • 2
    Даже при использовании android: configChanges все еще есть возможность для восстановления активности - возможны другие изменения конфигурации.
  • 0
    Никогда не используйте Android: configChanges. Это баад аф

Ещё вопросы

Сообщество Overcoder
Наверх
Меню