Implementing ActionBar tabs with v4 Fragments API

Dave picture Dave · Apr 19, 2011 · Viewed 13.6k times · Source

My app is currently using the Fragments/v4 compatibility package to support Android versions all the way down to 1.6. This means all my Fragments inherit from the compatibility package's version of Fragment. I'm currently trying to rework parts of the app to take advantage of Honeycomb features, like ActionBar.

I already use my own action-bar-like implementation on pre-3.0 devices, and the Honeycomb Action Bar otherwise. This bit isn't an issue.

The problem I have is trying to implement tabs using the ActionBar. ActionBar.TabListener expects the native Fragment and FragmentTransaction classes to work - so trying to use my Fragment classes (which inherit from the compatibility library) doesn't compile.

So, does anyone have any ideas how I can use fragments that use the compatibility package version of Fragment with ActionBar tabs?

tldr: how can I use ActionBar tabs with fragments that inherit from the v4 compatibility library?

Answer

Dave picture Dave · Apr 26, 2011

I asked this question on the android-developers mailing list.

The approach I've taken is the one suggested by CommonsWare, whereby the provided FragmentTransaction parameter is ignored entirely: http://groups.google.com/group/android-developers/msg/d8d84cdd2f753b71