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

mor*_*ium 7 android android-3.0-honeycomb android-viewpager

我用android开发应用程序: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吗?

Dan*_*son 13

在接受的答案陈述时可能不是这种情况,但是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与该点兼容并且版本回归到该点.


Nik*_*kov 8

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