我正在关注这个库示例并使用这个库在 ViewPager 中创建选项卡并向它们添加片段。
虽然我能够创建选项卡,但我无法将片段附加到它们。有什么帮助吗?
编辑:
我的标签活动看起来像这样:
public class TabActivity extends SherlockFragmentActivity implements StreamFragment.onStreamSelectedListener{
    TabHost mTabHost;
    TabManager mTabManager;
    Bundle bundle = new Bundle(); 
    Home f1;
    static FragmentTransaction ft;
    static View v;
    public static String currentFragment;
    @Override   
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab);
        mTabHost = (TabHost)findViewById(android.R.id.tabhost);
        mTabHost.setup();
        bundle.putString("stream","sourceId"); 
        mTabManager = new TabManager(this, mTabHost, R.id.realtabcontent);
        mTabManager.addTab(mTabHost.newTabSpec("home").setIndicator("Home"),
                        Home.class, null);
        mTabManager.addTab(mTabHost.newTabSpec("streams").setIndicator("Streams"),
                StreamFragment.class, null); 
        mTabManager.addTab(mTabHost.newTabSpec("source").setIndicator("Source"),
                SourceFragment.class, bundle); 
         f1 = (Home) getSupportFragmentManager().findFragmentByTag("home");
        if (savedInstanceState != null) {
            mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
        }
    }
声明了一个负责选项卡切换的 tabmanager 和一个有助于在选项卡之间连接的 onStreamSelectedListener。
现在,当我尝试使用它来实现时:
对于在视图中加载片段的位置以及如何在它们之间进行通信,我有点困惑。
我试着做这样的事情:
 @Override
  public Fragment getItem(int position) {
    if(position == 1)
          return(Home.newInstance(position));
    else if (position == 2)
           return(StreamFragment.newInstance(position));
  ....
  }
但我不确定这是否是正确的做法。有什么帮助吗?