在android 3.0+;

在android 3.0+;,android,android-3.0-honeycomb,android-viewpager,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的getFragmentMa

我正在用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 11级项目中有兼容库


在蜂巢+应用程序中使用ViewPager还有其他更为自然的方法吗?

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

在给出公认答案时,情况可能并非如此,但有
导入android.support.v13.app.FragmentStatePagerAdapter中的。如果您使用support-v13库,则构造函数将采用非支持版本的
FragmentManager
。请注意,
ViewPager
必须仍然来自v4


我还要补充一点,v4表示Android版本4+的支持库(甜甜圈1.6),v13表示Android版本13+的支持库(蜂巢3.2)。这只是一个事实,至少对我来说不是很明显。这意味着v4/v13中使用的API与该版本兼容,并且可以恢复到该版本。

您的意思是,在修改后,我也可以在我的应用程序中使用ViewPager代码?在哪里可以获得兼容性库的源代码?这是蜂巢的唯一方式吗?没有比这更原生或通用的了?下载包括源代码。如果您是从SDK管理器安装的,它将位于$SDK\u ROOT/extras/android/compatibility/v4/src中。我不知道“本机或通用”是什么意思,但是
ViewPager
不是Android SDK的一部分,你必须将它添加到你的项目中才能使用它,无论是在库(jar)中还是源代码中。我复制了FragmentPagerAdapter,并使它与Android.app.Fragment一起工作。但这种方法仍然假设我必须使用android-support-v4.jar库。这是正常的方法吗?定义正常:)正如我所说,ViewPager不在SDK中,所以您必须将它添加到您的项目中。要么将所有相关代码复制到项目中,要么添加
android-support-v4.jar
(就像您现在所做的那样)。真的没有其他方法可以使用它。使用jar稍微好一点,因为你可以在他们发布更新时简单地替换它。通常,我试图描述一种已经在不同应用程序中得到很好推荐的方法。对于minSDK<11的应用程序,只需使用android-support-v4.jar即可。蜂巢+应用程序的唯一选择似乎是我们在这里描述的混乱:)至少目前如此。非常感谢你的帮助。Кстати, привет 東京 из 上海-既然
v13
已经发布,接受的答案应该是正确的。