1) Вы должны поместить все свои процедуры проверки сервера и другие одноразовые операции во Fragment onCreate (), а не onCreateView ().Если вам нужно показать какой-то экран «Загрузка ...» во время загрузки, то я бы рекомендовал использовать FragmentActivity , чтобы накачать макет хотя бы с FrameLayout , который содержитТип «Загрузка ...».Сначала FragmentActivity будет запускать onCreate (), в котором сначала будет раздуваться начальное представление, а затем создается фрагмент.Поместите проверочный код сервера в onCreate () фрагмента, а затем разведите любое представление для этого фрагмента в методе onCreateView ().Вот пример из одного из моих проектов, который инициализирует кнопку «Микрофон», которая действительно является фрагментом:
<FrameLayout
android:id="@+id/recorder_mic_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
Затем фрагмент микрофона фактически создается следующим Java-кодом:
// make the Mic button
FragmentManager fragMgr = getFragmentManager();
FragmentTransaction xact = fragMgr.beginTransaction();
if (null == fragMgr.findFragmentByTag(FRAG_TAG)) {
xact.add(R.id.mic_button_frame, MicFragment.newInstance(queryType), FRAG_TAG).commit();
}
FRAG_TAG - фактически уникальное имя тега, которое вы даете экземпляру фрагмента, который отличается от R.id фрагмента.Таким образом, вы можете использовать findFragmentByTag (), чтобы убедиться, что фрагменты правильно создаются во всех местах, где они вам нужны.
Вы можете немного помассировать этот код, если хотите загрузить фрагменты внутри фрагментов,например, как на самом деле работает мое приложение.Если у вас есть фрагмент, который будет раздувать одно из нескольких возможных представлений, используйте оператор if, чтобы выбрать соответствующий идентификатор кадра и назначить уникальный FRAG_TAG.Я бы посоветовал использовать разные R.id для каждого FrameLayout, который вы создаете для фрагмента.(Например, если этот фрагмент может раздувать различные представления для информации, гула и лирики, то имена моих тегов для каждого фрагмента микрофона будут MetaMicButton , HumMicButton и LyricsMicButton. Мне нужно также выбрать между R.id.meta_mic_button_frame и т. Д.)
2) При переключении между портретным и альбомным режимами необходимо определить различные макеты XML в папках.res / layout и res / layout_land.(Или вы можете сделать res / layout и res / layout_port, если вы хотите использовать альбомный режим по умолчанию).Пожалуйста, проверьте эту ссылку: http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources Вы можете определить различные макеты в зависимости от размера экрана, языка, режима док-станции, ночного режима и любой их комбинации.