2015-10-13 214 views
0

尊敬的女士們,先生們,Android viewpager片段

首先,請不要標記我的問題。如果您認爲我的問題太愚蠢,請讓我知道,我會編輯它或刪除。

所以我的實際問題是我有一個活動(extends Activity)。在該活動的佈局,我創建FrameLayout,我再附上不同的四個片段(所以他們每個人extends Fragment的。所以在這個片段中的一個,我想實現滑動式標籤(見截圖)。

我知道,它通常做通過實現viewPager和FragmentPagerAdapter,但我不能這樣做,因爲如果我在我的片段中調用getSupportFragmentManager它給我一個錯誤如果我使用getActivity().getFragmentManager()它給了我錯誤, android.support.v4.app.fragmentmanager不能應用於android.app.fragmentmanager。我必須在我的片段中使用android.support.v4.app.fragment,否則我將無法實現我的活動視圖(在開始描述時)

任何意見或建議將不勝感激。 screenshot

+2

我會不下來,叫你親愛的。 – Androider

+0

@Androider哈哈。謝謝:))) – szholdiyarov

+0

@ user2912331 ..在你的片段類擴展與片段類的V4庫和一切工作正常 –

回答

2

確保您使用Fragment類擴展您的片段來自支持庫。你還需要使用FragmentActivity調用方法getSupportFragmentManager();

在另一方面,viewpager這是你的片段需要實現像往常一樣,你可以找到互聯網上除了getChildSupportFragmentManager();

這一個叫「嵌套的片段」。 PS:我不確定,但你也可以使用AppCompatActivity而不是FragmentActivityFragmentActivityActionBarActivity必須是已棄用

祝你好運

0

在其他碎片中使用碎片時,可以使用getChildFragmentManager()。

+0

仍然給我「android.support.v4.app.fragmentmanager不能應用於android.app.fragmentmanager」 – szholdiyarov

+0

我通過使用android.support.v4.app.FragmentManager實現了我的FragmentPagerAdapter – szholdiyarov

+0

這聽起來像你正在使用一個普通的片段而不是v4片段在你的應用程序中。另外請確保您從FragmentActivity而不是活動延伸。你得到的錯誤是說你得到了一個v4的FragmentManager,這是正確的,但是當你需要一個非v4的FragmentManager時你正在嘗試使用它。 – vguzzi

0

新版本的Support Library v4(Android 4.2)解決了這個問題。爲了做到這一點,只需做你的自定義FragmentPagerAdapter的構造是這樣的:

public CustomFragmentPagerAdapter(android.support.v4.app.Fragment fragment) 
{ 
    super(fragment.getChildFragmentManager()); 

    // write your code here 
} 

這工作,因爲新的Android版本批准使用嵌套的片段