使用 v4 Fragments API 实现 ActionBar 选项卡
我的应用程序当前使用 Fragments/v4 兼容性包来支持 Android 版本一直到 1.6。这意味着我的所有片段都继承自兼容包的 Fragment
版本。我目前正在尝试重新设计应用程序的部分内容,以利用 Honeycomb 功能,例如 ActionBar
。
我已经在 3.0 之前的设备上使用了我自己的类似操作栏的实现,否则使用 Honeycomb Action Bar。这一点不是问题。
我遇到的问题是尝试使用 ActionBar 实现选项卡。 ActionBar.TabListener
期望本机 Fragment
和 FragmentTransaction
类正常工作 - 因此尝试使用我的 Fragment 类(从兼容性库继承)不会不编译。
那么,有人知道如何使用带有 ActionBar
选项卡的 Fragment
兼容包版本的片段吗?
tldr:如何将 ActionBar 选项卡与从 v4 兼容性库继承的片段一起使用?
My app is currently using the Fragments/v4 compatibility package to support Android versions all the way down to 1.6. This means all my Fragments inherit from the compatibility package's version of Fragment
. I'm currently trying to rework parts of the app to take advantage of Honeycomb features, like ActionBar
.
I already use my own action-bar-like implementation on pre-3.0 devices, and the Honeycomb Action Bar otherwise. This bit isn't an issue.
The problem I have is trying to implement tabs using the ActionBar. ActionBar.TabListener
expects the native Fragment
and FragmentTransaction
classes to work - so trying to use my Fragment classes (which inherit from the compatibility library) doesn't compile.
So, does anyone have any ideas how I can use fragments that use the compatibility package version of Fragment
with ActionBar
tabs?
tldr: how can I use ActionBar tabs with fragments that inherit from the v4 compatibility library?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在 Android 开发者邮件列表上问了这个问题。
我采用的方法是 CommonsWare 建议的方法,其中提供的 FragmentTransaction 参数被完全忽略:
http://groups.google.com/group/android-developers/msg/d8d84cdd2f753b71
I asked this question on the android-developers mailing list.
The approach I've taken is the one suggested by CommonsWare, whereby the provided FragmentTransaction parameter is ignored entirely:
http://groups.google.com/group/android-developers/msg/d8d84cdd2f753b71