0

I am working on an App which has 3 Tabs using TabHost inside FragmentActivity and i called them like

private void setTabContent() 
{
    mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
    mTabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);

    mTabHost.addTab(mTabHost.newTabSpec("trends").setIndicator("",getResources().getDrawable(R.drawable.icon_trends)),VolumeViewFragment.class, null);
    mTabHost.addTab(mTabHost.newTabSpec("distribution").setIndicator("",getResources().getDrawable(R.drawable.icon_distribution)),ChannelsAndLanguageFilterFragment.class, null);
    mTabHost.addTab(mTabHost.newTabSpec("Social").setIndicator("",getResources().getDrawable(R.drawable.icon_hits)),SocialDataListViewFragment.class, null);
}

Now two of the tab have viewpager to show fragments like this

@Override
public void onActivityCreated(Bundle savedInstanceState) 
{
    super.onActivityCreated(savedInstanceState);
    sAdapter = new sViewPageAdapter(getFragmentManager());
    sPager = (ViewPager) getView().findViewById(R.id.social_pager);
    sPager.setBackgroundColor(color.title_background_color);
    sPager.setAdapter(sAdapter);    
}

public static class sViewPageAdapter extends FragmentPagerAdapter
{

    public sViewPageAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        Fragment f = null;
        switch(position)
        {
        case 0:
            f= SocialHitsFragment.newInstance();
            break;
            //SocialHitsFragment smFrag = new SocialHitsFragment();
            //return smFrag;
        case 1:
            f = SocialReachFragment.newInstance();
            break;
            //SocialReachFragment srFrag = new SocialReachFragment();
            //return srFrag;
        }
        return f;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return NUM_FRA;
    }

Now one of the fragment is showing data in Listview and another a graph. When i run application first time, and change tab it works fine. But when i switch back, the fragment show nothing. It dosen't load the data except showing the viewpager. I feel, i am following a wrong way or missing something. Please help..i am new to fragments..

Julian
  • 33
  • 2
  • 8

1 Answers1

0
if you are using a fragmentTabHost inside a  Fragment you can do like this,

 mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
 mTabHost.setup(this, getChildFragmentManager(), android.R.id.tabcontent);
// use getChildFragmentManager instead of getSupportFragmentManager

// check whether you have set the page change listener for ViewPager in onActiviyCreated sPager.setOnPageChangeListener(this);