之間的區別android.app.Fragment
和android.support.v4.app.Fragment
之間的區別是什麼以及每個應該使用哪些環境?android.app.Fragment和android.support.v4.app.Fragment
回答
我專門使用android.support.v4.app.Fragment
。
我寫的所有應用程序都需要支持Android 2.3,這是最簡單的方法。
如果您支持11+,然後堅持android.app.Fragment
。
在這種情況下,您錯過了支持中存在的許多功能圖書館,但只有在某個API級別之後的本地圖書館。 getChildFragmentManager()例如直到級別17纔可用。 我的建議是隻使用支持碎片並假裝本地不存在。 – Johan 2015-08-06 09:09:30
android.support.v4.app.Fragment
是一個庫,您可以使用它來獲取舊版API版本的向後兼容性。
在API級別11上添加了片段(以及其他功能),您應該包括該庫以將這些功能擴展到API 11之前的設備。這是一個非常有用的庫,我建議查看ActionBarSherlock,它將操作欄擴展到pre-API v11設備。
如果您的應用程序針對的是API 11或更高版本,則可以使用android.app.Fragment
,您的APK文件將會更小。
否則,將android.support.v4.app.Fragment
庫添加到您的項目以支持較舊的Android API版本(Android 3.x)。
的答案是完全正確
但隨着時間的推移,並根據https://en.wikipedia.org/wiki/Android_version_history這是相當罕見的,您的新的Android應用程序必須支持Android SDK中的設備不到11
所以你可以忘掉android.support.v4.app.Fragment
並在您的應用中安全使用android.app.Fragment
。
- 1. 使用android.support.v4.app.Fragment和android.app.Fragment在同一活動
- 2. android.support.v5.app.Fragment or android.app.Fragment?
- 3. 錯誤的第二個參數類型。發現:'android.app.Fragment',必需:'android.support.v4.app.Fragment'
- 4. 得到錯誤所需android.support.v4.app.Fragment
- 5. android.support.v4.app.Fragment:未定義的方法getChildFragmentManager()
- 6. 不能轉換爲android.support.v4.app.Fragment(Xamarin C#)
- 7. 活動不能被轉換到android.support.v4.app.Fragment
- 8. 從xml充氣android.support.v4.app.fragment的正確方法
- 9. 警告第一個參數發現類型MapActivity需要android.support.v4.app.Fragment
- 10. support-v4.app.fragment和app.fragment之間的區別?
- 11. 錯誤的第二個參數類型。發現:'com.sagar.kugeclass.NotificationActivity',必需:'android.support.v4.app.Fragment'
- 12. 獲取一個錯誤:onCreate(Bundle)與android.support.v4.app.Fragment中的onCreate(Bundle)發生衝突
- 13. Android的片段事務錯誤的參數,片段,應該是android.support.v4.app.Fragment類型
- 14. 不能解決列表中添加(android.support.v4.app.Fragment)不能適用於(make.application.Fragment)
- 15. 片段錯誤:不兼容的類型必需:android.support.v4.app.Fragment,實測值:package_name.app_name.Fragment_name
- 16. 如何使用Android.App.Fragment和Support V4庫
- 17. 通過android.support.v4.app.FragmentActivity和android.app.FragmentTransaction
- 18. android.support.v4.app.FragmentActivity和com.google.android.gms.maps不工作
- 19. Android片段:「can not cast android.app.Fragment」
- 20. nullPointerException在android.support.v4與保持android.support.v4 proguard
- 21. 包android.support.v4.animation不存在import android.support.v4.animation.AnimatorCompatHelper;
- 22. Xamarin.Android - 不能更改訪問修飾符時凌駕性公衆繼承成員Android.Support.V4.App.Fragment
- 23. android.support.v4.widget.SearchViewCompat示例?
- 24. ClassNotFoundException - android.support.v4.view.ViewPager
- 25. DrawerLayout和重力COMPAT不包括在android.support.v4
- 26. android.support.v7.app.AppCompatActivity vs android.support.v4.app.ActivityCompat
- 27. android.support.v4.app.getFragmentManager()返回null?
- 28. android.support.v4庫的錯誤
- 29. android.support.v4.widget.DrawerLayout找不到
- 30. WebView到片段(android.support.v4)
另請參閱「使用FragmentStatePagerAdapter WITHOUT支持庫」:http://stackoverflow.com/questions/18512294/using-fragmentstatepageradapter-without-support-library – CJBS 2014-08-01 20:30:55
如果您重寫onAttach(),請參閱此線程以避免它在某些情況下使用android.app.Fragment調用:https://stackoverflow.com/questions/32083053/android-fragment-onattach-deprecated – Hong 2017-07-26 22:11:38