为操作栏中的选项卡设置Tablistener方法

时间:2013-08-20 09:44:55

标签: android android-fragments android-tabs

我试图修改tutorial,关于滑动和标签,因此我可以为每个标签手动设置Tablistener方法,我将其插入操作栏。原因是,我希望能够单独编辑每个Fragment文件(现在它们是动态创建的)。

教程中的代码,用于为特定选项卡动态设置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类型不是通用的;它不能使用参数&lt; Tab1Fragment&gt;
  • 进行参数化
  • 无法实例化ActionBar.Tablistener类型

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

2 个答案:

答案 0 :(得分:2)

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

导入android.app.ActionBar;

import android.app.ActionBar.Tab;

它对我有用;)

答案 1 :(得分:0)

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