Где проверить изменение ориентации в андроидном фрагменте

В моем приложении у меня есть FragmentActivity с несколькими Fragment в портретном режиме, за исключением одного конкретного Fragment . Я перемещаюсь между Fragment s через нижний колонтитул View s в FragmentActivity .

У меня есть другой макет (на самом деле есть одно и то же имя, но с другим виджетом View s) для этого конкретного Fragment при изменении ориентации. Когда в ландшафтном режиме я хочу удалить определенные виджеты из представления макета Fragment и нижнего колонтитула View of FragmentActivity а когда вернусь на портрете, добавьте все обратно.

Я сохранил все данные, которые мне нужны в onSavedInstanceState() в Fragment , но где лучше всего я должен проверить изменение ориентации, чтобы я мог правильно восстановить View ?

Не уверен, что могу переопределить onConfigurationChange() и протестировать там в своем Fragment потому что у меня нет андроида: configChanges = "orientation" в моем Manifest Android.

Сохраните эту проверку в onCreate (). При повороте устройства приложение перезапускается. Поэтому onCreate вызывается снова, когда приложение перезапускается.

 int currentOrientation = getResources().getConfiguration().orientation; if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) { // Landscape } else { // Portrait } 

Вы можете контролировать изменение ориентации, переопределяя также onConfigurationChanged вашего фрагмента.

  @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); int currentOrientation = getResources().getConfiguration().orientation; if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE){ Log.v("TAG","Landscape !!!"); } else { Log.v("TAG","Portrait !!!"); } }