2013-08-20 32 views
0

我試圖修改關於滑動和選項卡的tutorial,以便我可以手動爲每個選項卡設置Tablistener方法,並將其插入到操作欄中。原因是,我希望能夠單獨編輯每個Fragment文件(現在它們是動態創建的)。爲操作欄中的選項卡設置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

可以做些什麼來解決這個問題?

回答

0

正如您在官方文檔中看到的,ActionBar.TabListener是一個接口,因此您必須實現它。

+0

該接口已經實現(如您在教程中所見)。我只想更改上面粘貼的代碼。 – TheAptKid

+0

是的,但接口僅由此實現。我的理解是你想爲每個選項卡(或片段)創建自定義實現。那麼你應該有多個實現 – buzeeg

2

嘗試把你的java文件(包定義之後)的頂部兩個出口:

進口android.app.ActionBar;

import android.app.ActionBar.Tab;

它對我有用;)

相關問題