0

我正在尝试修改关于滑动和选项卡的教程,因此我可以为每个选项卡手动设置 Tablistener 方法,并将其插入操作栏中。这样做的原因是,我希望能够单独编辑每个片段文件(现在它们是动态创建的)。

本教程中用于为特定选项卡动态设置 Tablistener 的代码:

for (int i = 0; i < mCollectionPagerAdapter.getCount(); i++) {
    actionBar.addTab(actionBar.newTab()
         .setText(mCollectionPagerAdapter.getPageTitle(i))
         .setTabListener(this)); //this is of type FragmentActivity
}

我想通过为每个选项卡手动指定 Tablistener 来更改它。例子:

Tab tab = actionBar.newTab();
tab.setText("tabName");
tab.setTabListener(new TabListener<Tab1Fragment>(this, "tabName", Tab1Fragment.class));
// the first parameter should be an Activity object, but mine is a FragmentActivity
actionBar.addTab(tab);

当我尝试上面的代码时,我得到两个错误:

  • ActionBar.TabListener 类型不是通用的;它不能用参数 <Tab1Fragment> 参数化
  • 无法实例化类型 ActionBar.Tablistener

可以做些什么来解决这个问题?

4

2 回答 2

2

尝试将这两个导入放在 java 文件的顶部(在包定义之后):

导入android.app.ActionBar;

导入android.app.ActionBar.Tab;

它对我有用;)

于 2014-02-11T11:20:03.830 回答
0

正如你在官方文档中看到的,ActionBar.TabListener是一个接口,所以你必须实现它。

于 2013-08-20T09:53:29.103 回答