在Android 3.0+中使用Android.app.Fragment和ViewPager

时间:2011-11-08 02:18:21

标签: android android-3.0-honeycomb android-viewpager

我用android开发app:minSdkVersion =“11”。据我所知,ViewPager是在兼容性库中实现的。我已成功通过添加android-support-v4.jar库使其在我的应用程序中工作,但现在我不得不使用

  

android.support.v4.app.FragmentActivity

因为我需要用于FragmentPagerAdapter的getSupportFragmentManager(),而不是新的android.app.Activity的getFragmentManager()。

我还需要使用

  

android.support.v4.app.Fragment

而不是

  

android.app.Fragment

虽然有效但我绝对不喜欢这种方法。它破坏了应用程序的设计,我不想在我的API Level 11项目中使用兼容性库。

在Honeycomb +应用程序中是否还有其他更原生的方法可以使用ViewPager?

2 个答案:

答案 0 :(得分:13)

在陈述接受的答案时可能不是这种情况,但sample code中有import android.support.v13.app.FragmentStatePagerAdapter;。如果使用support-v13库,构造函数将采用FragmentManager的非支持版本。请注意,ViewPager必须仍然来自v4。

我还要补充一点,v4表示Android版本4+(Donut 1.6)的支持库,而v13表示Android版本13+(Honeycomb 3.2)的支持库。这个事实至少对我来说并不是那么明显。这意味着v4 / v13中使用的API与这一点兼容并且版本回归到那一点。

答案 1 :(得分:8)

FragmentPagerAdapter复制到您的代码中并将其修改为使用android.app.Fragment等。或者自己实现自己的PagerAdapter,它根本不依赖于片段。