在 Android 3.0 中将 android.app.Fragment 与 ViewPager 一起使用

发布于 2024-12-13 23:36:44 字数 595 浏览 3 评论 0原文

我正在使用 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 项目中使用兼容性库。

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

I am developing app with android:minSdkVersion="11". From what I know, ViewPager is implemented within Compatibility Library. I have succeed to make it work in my application by adding android-support-v4.jar library, but now I am obliged to use

android.support.v4.app.FragmentActivity

because I need getSupportFragmentManager() for FragmentPagerAdapter, instead of new android.app.Activity's getFragmentManager().

Also I need to use

android.support.v4.app.Fragment

instead of

android.app.Fragment

It works though, I definitely don't like this approach. It destroys design of app, and I don't want to have Compatibility Library in my API Level 11 project at all.

Are there other more native ways to use ViewPager in Honeycomb+ apps?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怎言笑 2024-12-20 23:36:44

在陈述接受的答案时情况可能并非如此,但 中有 import android.support.v13.app.FragmentStatePagerAdapter; href="https://github.com/search?q=android.support.v4.app.FragmentStatePagerAdapter%20repo%3aandroid/platform_development%20repo%3acommonsguy/cw-omnibus%20extension%3ajava&type=Code">示例代码。如果您使用 support-v13 库,构造函数将采用 FragmentManager 的非支持版本。请注意,ViewPager 仍必须来自 v4。

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

It may not have been the case at the time the accepted answer was stated, but there's import android.support.v13.app.FragmentStatePagerAdapter; in the sample code. If you use support-v13 library the constructor takes a non-support version of the FragmentManager. Note that the ViewPager must still come from v4.

I'll also add that v4 means support library for Android version 4+ (Donut 1.6), and v13 means support library for Android version 13+ (Honeycomb 3.2). Just a fact that wasn't immediately obvious to me at least. Meaning the APIs used in v4/v13 are compatible with and versions back to that point.

执笔绘流年 2024-12-20 23:36:44

FragmentPagerAdapter 复制到您的代码中并修改它以使用 android.app.Fragment 等。或者自己实现自己的 PagerAdapter,它不依赖完全在碎片上。

Copy FragmentPagerAdapter into your code and modify it to use android.app.Fragment, etc. Or implement your own PagerAdapter yourself, it does not depend on fragments at all.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文