2011-11-08 45 views
2

是否可以在平板電腦操作欄選項卡和電話ViewPager中使用片段?看起來手機使用支持庫,並且與操作欄中的TabListener不兼容。讓兩者都使用相同的片段有什麼竅門嗎?Actionbar Tab和ViewPager中的片段

迄今爲止唯一可能的解決方法是this

由於

回答

7

當然,檢查出在兼容性庫源ActionBarTabsPager樣品。您需要在適配器中實現兩個接口來處理製表符切換和分頁。事情是這樣的:

public class TabsPagerAdapter extends FragmentPagerAdapter implements 
     ViewPager.OnPageChangeListener, ActionBar.TabListener { 
     // implement both 
} 

您需要添加這樣的標籤(使用支持/兼容庫):

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

viewPager = (ViewPager) findViewById(R.id.content); 
tabsAdapter = new TabsPagerAdapter(this, getSupportActionBar(), 
       viewPager); 
ActionBar.Tab tab = getSupportActionBar().newTab(); 
MyFragment f = new MyFragment(); 
tabsAdapter.addTab(tab, f); 
+0

這很好,但標籤不在平板電腦上的操作欄上。 – Metallicraft

+0

當然,您需要使用ActionBar API來添加選項卡。看修改後的帖子。這是來自一個真實的項目,所以我很確定它的工作:)。 –

+0

-san! Omoshiroi!由於你的第一個回答你的名字給我留下了深刻的印象......當我今天看到你的第二個回覆時,我的平板電腦通知我已經升級了已安裝的應用程序。瞧,瞧...... WWWJDIC。 :-) ...並且TabPager在那裏也能很好地工作!我也安裝了漢字識別器。感謝您的幫助和您的應用程序! – Metallicraft

0

這個想法是使用android-support-v13.jar。這個文件包含用於本地片段的FragmentPagerAdapter以及ViewPager。