Смысл в том что, пока грузится информация из БД, PagerAdapter должен возвращать одну вкладку с загрузкой. Затем когда инфа загрузилась необходимо сообщить адаптеру, что нужно изменить количество вкладок.
Что то типа:
Adapter
public class SomePagerAdapter extends FragmentStatePagerAdapter {
private ArrayList<Tab> tabs;
public ProfilePagerAdapter(FragmentManager fm) {
super(fm);
}
public ProfilePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (tabs == null) return new LoadingFragment();
return tabs.get(position);
}
public void setTabs(ArrayList<Tab> tabs) {
this.tabs= tabs;
notifyDataSetChanged();
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public int getCount() {
if (tabs == null) return 1;
return tabs.size();
}
@Override
public CharSequence getPageTitle(int position) {
return tabs.get(position).title;
}
}