我遇到了ViewPager以及相關的FragmentPagerAdaptor,它們不是常規Android軟件包的一部分,但僅適用於V4支持包。看來我不能使用帶有android.app.Fragment的FragmentPagerAdaptor,因爲FragmentPagerAdaptor需要一個v4 FragmentManager來實例化。閱讀Difference between Activity and FragmentActivity這似乎是對齊 - 使用v4片段和相關的類或常規的android.app.Fragments。切勿混合。總是使用v4碎片而不是內置的android.app.Fragment?
更進一步,我看到沒有必要使用常規的android.app.Fragments,因爲它們不如v4支持包強大。 (引用另一個問題:The Android Support package is not only for backports of newer APIs. It is also for other classes that, for whatever reason, are not being added to the SDK, such as ViewPager and its supporting classes.)。我認爲唯一的缺點是v4支持庫與APK捆綁在一起,這意味着我的應用將佔用更多空間。
我正確地得出結論,我應該總是使用v4支持庫的片段,因爲那些包括更多的功能? (而且它們向後兼容,不要忘記。)
如果您只是擔心ICS及以上版本,請使用較新的片段。向後兼容的是有限的,因爲它們是爲了支持舊版本而製作的。另外,如果你已經回答了你自己的問題,那麼一定要接受你的答案,以便其他人可以從你的信息中受益。 – MCeley
我多次從Google Engineers(@ IO + DevBytes)那裏聽說我們應該使用compat庫,即使我們的minSdk在14(Android 4.0)或更高版本中也是如此。爲什麼?因爲他們可以比Android OS在設備上更新更頻繁地更新支持庫。 (@Intrications指出錯誤版本號 - thx後編輯的評論) –
@ZsoltSafrany,你有鏈接到任何特定的DevBytes或IO片段嗎? – yiati