Есть ли способ отображать фрагменты в TabHost?

Я хотел бы показать другой фрагмент в TabHost для каждой вкладки. Но кажется, что нет простого способа сделать это. TabHost может принимать только A. Views или B. Intent, которые запускают Activity, когда пользователь выбирает вкладку.

Переход с A означает, что я должен инициализировать каждый фрагмент и загружать их в представления контейнеров, которые передаются TabHost. Но я хочу, чтобы эти фрагменты загружались только тогда, когда это необходимо - когда пользователь выбирает свою вкладку.

Переход с B означает, что я загружаю фрагменты в отдельные действия для каждой вкладки. Но я бы хотел, чтобы фрагмент мог достичь «исходной» родительской активности, а не только какой-то активности оболочки, которая размещает их в содержимом вкладки.

Я что-то пропустил? Есть ли способ правильно управлять фрагментами с помощью TabHost?


person Zsombor Erdődy-Nagy    schedule 26.07.2011    source источник


Ответы (1)


Некоторые хиты здесь:

  1. Поддержка фрагментов с помощью Tabhost
  2. Android 1.6 и Fragment & Tabhost

Насколько я понял, «связать» фрагмент внутри TabHost не разрешено, вам нужно создать действия, включающие ваши фрагменты, а затем вызвать эти действия из TabHost.

ИЗМЕНИТЬ "официальное решение" из Google и с помощью красивая анимация.

person Rainbowbreeze    schedule 31.07.2011
comment
официальное решение должно оставаться. Пожалуйста, удалите другие ссылки - person fmo; 24.04.2012
comment
Официальное решение перенаправляет на страницу с примерами, где предлагается скачать образцы. В ApiDemos FragmentTabs используются только вкладки ActionBar, обычные вкладки выполняются с использованием устаревшей TabActivity. Я был бы признателен, если бы кто-нибудь уточнил, какой способ предпочтительнее, использовать устаревший или нет? - person comodoro; 25.09.2012
comment
Эта ссылка весьма полезна: thepseudocoder.wordpress.com /2011/10/04/ - person comodoro; 25.09.2012