Реализация вкладок ActionBar с помощью v4 Fragments API

Мое приложение в настоящее время использует пакет совместимости Fragments/v4 для поддержки версий Android вплоть до 1.6. Это означает, что все мои фрагменты наследуются от версии пакета совместимости Fragment. В настоящее время я пытаюсь переработать части приложения, чтобы воспользоваться преимуществами функций Honeycomb, таких как ActionBar.

Я уже использую свою собственную реализацию панели действий на устройствах до версии 3.0 и панель действий Honeycomb в остальных случаях. Этот бит не проблема.

Проблема, с которой я столкнулся, заключается в попытке реализовать вкладки с помощью панели действий. ActionBar.TabListener ожидает, что родные классы Fragment и FragmentTransaction будут работать, поэтому попытка использовать мои классы Fragment (которые наследуются от библиотеки совместимости) не компилируются.

Итак, есть ли у кого-нибудь идеи, как я могу использовать фрагменты, использующие версию пакета совместимости Fragment с вкладками ActionBar?

tldr: как я могу использовать вкладки ActionBar с фрагментами, унаследованными от библиотеки совместимости v4?


person Dave    schedule 19.04.2011    source источник


Ответы (1)


Я задал этот вопрос в списке рассылки разработчиков Android.

Я выбрал подход, предложенный CommonsWare, при котором предоставленный параметр FragmentTransaction полностью игнорируется: http://groups.google.com/group/android-developers/msg/d8d84cdd2f753b71

person Dave    schedule 26.04.2011
comment
Похоже на рабочее решение, но таким образом пакет поддержки навсегда загрязнит наши приложения... Я не думаю, что Gingerbread и Froyo снизятся до 10% до 2014 года. - person Janusz; 09.11.2011
comment
Согласно последнему сообщению в этой теме, я начинаю изучать ActionBarSherlock, который кажется более многообещающим, чем аналоги в официальной библиотеке совместимости v4. - person Evi Song; 29.01.2013