2012-02-07 52 views
10

我真的想让这个工作,但我觉得我已经好几个小时了。我正在创建一个新应用程序,并希望尽可能按照UI准则进行操作,对于冰淇淋三明治下面的任何内容,似乎意味着我需要使用ActionBarSherlock。看看例子here它看起来应该是直截了当的。在ActionBarSherlock中实现选项卡的问题4

我尝试实现它,它不工作,因为FragmentActivity没有getSupportActionBar()方法。

看看demo app,看来他们不使用FragmentActivity,他们使用SherlockActivity。那么,SherlockActivity确实有一个getSupportActionBar()方法,所以这很有前途。继续举例说明一段时间...

好吧,现在看来com.actionbarsherlock.app.ActionBar.TabListener不会将FragmentTransaction传递给它的事件?不仅如此,但SherlockActivity没有getSupportFragmentManager()方法...

我(希望)只是做一些完全错误的事情吗?我如何继续遇到没有其他人的所有这些问题?我觉得我要疯了。我发现的唯一潜在的相关问题是here,它不是很有用。

+0

您是否使用支持库来支持片段?还是你的目标是Honeycomb? – Kekoa 2012-02-07 18:24:05

+0

支持库。我相信这个计划是API 7及以上。 – zeonic 2012-02-07 18:30:58

回答

27

您需要扩展SherlockFragmentActivity而不是SherlockActivity或SherlockFragment。这样你就可以访问ABS和碎片支持。

+2

在我看来,这是正确的答案。至少这对我有效。无需使用像SimonVT提议的任何其他库! – Dude 2012-06-20 12:40:15

1

我遇到了类似的问题,试图让地图视图和片段与actionbarsherlock一起工作。请参阅邮件列表上的my post

我想出的解决方案是获取兼容性库的源代码并修改FragmentActivity以扩展SherlockActivity而不是标准的android活动。

然后,您需要编译支持库的源代码以及您的应用程序(以某种方式)。

在我的情况下,我进一步修改了SherlockActivity以扩展MapActivity,但由于您没有提到地图,因此您不需要这样做。

可能还有其他的解决方案,但这至少有一些东西为我工作。

我会推荐mailing list,因为这个项目似乎经常变化。

+1

这实际上不会完全工作,因为'FragmentActivity'中的菜单实现将覆盖'SherlockActivity'中的内容。然而,针对这种情况,有一个专门为支持库构建.jar的适当的ABS实现。 – 2012-02-07 18:56:18