Я столкнулся с той же проблемой и застрял в ней более недели. Затем я подготовил образец приложения с tabHost и воспроизвел ту же проблему в примере приложения. Поработав с этим, я обнаружил, что это ошибка Android Tab Tab. Итак, я перенес tabHost в FragmentTabHost и обнаружил, что проблема исчезла.
Симуляция проблемы с tabHost:
Пусть есть две вкладки, то есть A и B
Симулятор 1 (Возникла ошибка)
- Прибытие на A в портретном режиме
- Переход к B в портретном режиме
- Повернуть B в ландшафт
- Вернуться к A в ландшафтном режиме.
- Повернуть A в портрет (метод onConfigChanged tabActivity запускается. Но onConfigChanged of A действие не запускается)
Simulation 2 (Работает нормально)
- Прибытие на A в портретном режиме
- Перейдите к B в портретном режиме (продолжайте вращаться как хотите, но остановитесь в портретном режиме)
- Назад в режим A в портретном режиме.
- Поворот A в альбомную ориентацию (оба метода onConfigurationChanged для tabActivity и A активируются)
Сводка: Если вы вернетесь к экрану в той же ориентации, что и у вас, то будет вызван оба метода onConfigurationChanged ().