I am doing a similar thing: I have a navigation drawer and one of the drawer items is a ViewPager with tabs. Everything worked fine when I opened the ViewPager tab the first time, but when I navigated back to it after navigating to one of the other tabs, it was empty and there were twice as many tabs (navigating to another activity and back was fine).
There are two issues here, one is that onCreate gets run again and adds your tabs again, resulting in duplicate tabs. You can fix this relatively easily by either checking for existence before adding them or by removing all tabs on destroy. I added this method in case other activities/fragments use other tabs (you'll also have to track the actionBar variable as a class variable instead of a method variable):
@Override
public void onDestroy() {
actionBar.removeAllTabs();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
super.onDestroy();
}
The empty tabs appear to be due to different fragment managers not being able to locate the correct fragments. Check out the difference between using getSupportFragmentManager/getFragmentManager and getChildFragmentManager (What is difference between getSupportFragmentManager() and getChildFragmentManager()?).
The fix was to use getChildFragmentManager instead of getFragmentManager when initializing my PagerAdapter (your AppSectionsPagerAdapter) in the pager fragment.
appSectionsPagerAdapter = new AppSectionsPagerAdapter(getFragmentManager());
becomes
appSectionsPagerAdapter = new AppSectionsPagerAdapter(getChildFragmentManager());