最好在目标min API 14(ICS)时使用FragmentActivity(或ActionBarActivity)或系统Activity?

时间:2014-02-02 18:24:51

标签: android android-fragments android-support-library android-compatibility

我让我的应用程序拥有最低版本的Android 4.0(ICS,API等级14)。

首先,我猜测我可以摆脱使用FragmentActivity作为活动的基类,但似乎某些支持库类如FragmentStatePagerAdapter在系统框架上不可用,并且它需要支持Fragment而不是系统Fragment

所以我想知道我是否应该从系统Activity继承我的活动,或者继续使用FragmentActivity(或者使用appcompat库时使用ActionBarActivity)?

2 个答案:

答案 0 :(得分:12)

  某些支持库类如FragmentStatePagerAdapter在系统框架上不可用,它需要支持Fragment而不是系统Fragment。

这是不正确的。 FragmentPagerAdapterFragmentStatePagerAdapter有两个版本。一组(v4)使用backport,另一组(v13)使用本机API Level 11版本的片段。

  

我想知道我是否应该让我的活动继承自系统活动

是的,除非您需要嵌套片段。那些直到API级别17才出现。如果您需要该功能,则需要使用backport,直到android:minSdkVersion为17或更高。

答案 1 :(得分:11)

如果你的最低api等级为14,你可以延长Activity。您可以使用api level 11下面的支持库中的Fragment,在这种情况下,您需要扩展FragmentActivity

http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html

如果您希望操作栏低于11,则需要延长ActionBarActivity

http://developer.android.com/guide/topics/ui/actionbar.html

注意:

 ↳  android.app.Activity
                   ↳    android.support.v4.app.FragmentActivity
                       ↳    android.support.v7.app.ActionBarActivity