Intereting Posts
Инструкции погружного режима появляются каждый раз, когда устройство переходит в этот режим Как добавить onclicklistener к кнопке внутри адаптера listview? GCM с системой входа в систему Как изменить цвет заголовка Android с помощью макета координатора и настраиваемой панели инструментов Проблема с краской Android для разных API Открыть в браузере, когда ссылка также перенаправляется с помощью глубокой ссылки Детальные элементы ExpandableListView не получают фокус при касании Вставка в Genymotion Android Emulator Разработка приложений для Android без устройства Android Получить программный экран размера экрана? Потоковое видео с Android на рабочий стол Если я объявляю фрагмент в XML-макете, как передать его Bundle? Как сохранить пароль пользователя в памяти устройства Как поместить значения из текстового представления в строку списка в фрагмент Где я могу поместить папку «assets» в Android Studio?

Фрагменты не видны после переключения табуляции во вложенном FragmentTabHost

У меня есть FragmentTabHost в макете одного из моих фрагментов (назовем его parentFragment). Теперь, я инициализирую каждый из фрагментов, которые идут в tabhost программно в onCreateView родительского фрагмента. Когда создается родительский Фрагмент, все, кажется, работает нормально, и он правильно показывает фрагмент первой вкладки.

Но как только я переключаю вкладку один раз, фрагменты исчезают (я вижу цвет фона tabhost, но не содержимое контейнера tabcontent-container). Кроме того, первый фрагмент исчезнет, ​​когда я вернусь к нему. Фрагменты на самом деле создаются, как показывают мои журналы, но они не видны.

Я предполагаю, что он связан с (re) созданием фрагментов, так как я также пытался использовать ViewPager с FragmentPagerAdapter. Там я мог бы с радостью переключаться между первыми двумя фрагментами (предварительно загруженными из-за setOffscreenPageLimit () == 1), но фрагменты (re), созданные за пределами этого, также были пустыми.

Любые мысли кто-нибудь ???

Вот некоторые из моих кодов:

Извлечение XML-файла parentFragment:

... <android.support.v4.app.FragmentTabHost android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="40dp" android:layout_alignParentTop="true" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="0dp" android:layout_height="0dp" /> <FrameLayout android:id="@+id/realtabcontent" android:layout_below="@android:id/tabs" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> </android.support.v4.app.FragmentTabHost> ... 

Извлечение XML-файла parentFragment:

 ... @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.d(TAG, "onCreateView"); ViewGroup layoutContainer = (ViewGroup) inflater.inflate(R.layout.fragment_app_details_test, container, false); tabHost = (FragmentTabHost) layoutContainer.findViewById(android.R.id.tabhost); tabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent); tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("TAB1"), FragmentSubTab1.class, null); tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("TAB2"), FragmentSubTab2.class, null); tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("TAB3"), FragmentSubTab3.class, null); return layoutContainer; } ... 

Простая разметка размещения в фрагменте субстраницы:

 ... @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ViewGroup layoutContainer = (ViewGroup) inflater.inflate(R.layout.subfragment1, container, false); initUi(layoutContainer); return layoutContainer; } ... 

Я раньше не рассматривал FragmentTabHost, но я хотел бы предложить вам использовать метод Action Bar setNavigationMode (ActionBar.NAVIGATION_MODE_TABS) для достижения навигации по вкладкам в вашем приложении (Doc here: http://developer.android.com/guide/topics /ui/actionbar.html#Tabs ). Этот предлагаемый метод кажется менее трудоемким и использует меньшее количество держателей фрагментов. Вы в основном используете свои вкладки, добавляете их в стопку и показываете / скрываете их в соответствии с выбранной вкладкой с помощью методов onTabSelected или onTabUnselected.

Надеюсь, поможет.