Android: почему запускаются фрагменты, если их не видно?

У меня есть два макета для моего Activity. Первый для ландшафтного режима и содержит два FrameLayout, второй для портретного режима и содержит только один FrameLayout. Фрагменты динамически добавляются в соответствующие FrameLayouts!! Я не могу понять, почему, когда я поворачиваю экран в портретном режиме, вызываются методы onStart() и onResume() Фрагмента (больше не видно!!!!). Я знаю, что Android копирует обратные вызовы Activity для всех своих фрагментов, но такое поведение для меня бессмысленно!! onStart() и onResume() должны вызываться только тогда, когда фрагмент становится видимым!!!!

Эта проблема уже обсуждалась в этом сообщение. Но я хочу понять, почему у Android такое поведение!!

Спасибо.


person user1709805    schedule 18.01.2013    source источник


Ответы (1)


Попробуйте установить android:configChanges="orientation" в своем манифесте, это будет означать, что вы хотите управлять изменением ориентации самостоятельно и не нуждаетесь в автоматическом управлении по умолчанию. Это позволит вам переопределить onConfigurationChanged. Подробную информацию можно найти по адресу: http://developer.android.com/guide/topics/resources/runtime-changes.html

person MariusBudin    schedule 18.01.2013