2012-01-24 26 views
1

我見過很多關於標準FragmentTabsPager實現的教程,每個頁面上都有一個Fragment。我試圖將FragmentLayoutSupport示例(左側的ListFragment,右側的詳細信息Fragment)與尋呼機示例結合起來。使用PagerAdapter來處理每頁多個片段

以下是來自v4支持庫的FragmentTabsPager中的getItem()方法。

public Fragment getItem(int position) { 
     TabInfo info = mTabs.get(position); 
     return Fragment.instantiate(mContext, info.clss.getName(), info.args); 
    } 

爲了支持多Fragments每頁(沒有嵌套,而並排),這將是編程的聲明在我的這個方法的重寫版本的佈局(如LinearLayout),實例化2個的情況Fragments,並將它們添加爲兒童,返回LinearLayout? (在縱向的情況下,僅返回LinearLayout只有一個Fragment。)

是否足以單獨覆蓋此方法,還是對問題的天真方法?

謝謝!

回答

0

請勿使用FragmentPagerAdapter,創建您自己的適配器,該適配器將返回View(在您的情況下爲LinearLayout)。

+0

還有什麼需要改變?是否有理由不擴展FragmentPagerAdapter並重寫get視圖? – ataulm

+0

好'FragmentPagerAdapter'被設計用於處理單個片段,並且你想要多個片段。實現'PagerAdapter'('instantiateItem()')的必要方法並將其插入到你的尋呼機中。你可以像'MyPagerAdapter extends PagerAdapter實現ViewPager.OnPageChangeListener'一樣來處理頁面創建和切換到一個類中。 –

+1

是否存在技術或語義原因不執行'MultipleFragmentPagerAdapter擴展FragmentPagerAdapter實現TabHost.OnTabChangeListener,ViewPager.OnPageChangeListener' - 如果我重寫'getView'返回具有多個片段的另一個佈局,爲什麼不這麼做? (這是我的問題的癥結所在,我知道我不能使用當前形式的FragmentPagerAdapter。) – ataulm