【发布时间】:2014-10-14 15:39:04
【问题描述】:
我正在开发一个应用程序,该应用程序在 FragmentActivity 中使用 TabHost 有 3 个选项卡,我将它们称为
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);
}
现在两个选项卡有 viewpager 来显示像这样的片段
@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;
}
现在其中一个片段在 Listview 中显示数据,另一个片段显示图表。 当我第一次运行应用程序并更改选项卡时,它工作正常。但是当我切换回来时,片段什么也没有显示。除了显示 viewpager 之外,它不会加载数据。我觉得,我走错了路或错过了一些东西。请帮助..我是片段的新手..
【问题讨论】:
标签: android android-fragments android-viewpager android-tabhost