【问题标题】:Problems implementing tabs in ActionBarSherlock 4在 ActionBarSherlock 4 中实现选项卡的问题
【发布时间】:2012-02-07 18:18:16
【问题描述】:

我真的很想让这个工作,但我觉得我已经挣扎了好几个小时。我正在启动一个新应用程序,并希望尽可能地遵循 UI 指南,这对于冰淇淋三明治以下的任何东西似乎意味着我需要使用 ActionBarSherlock。查看示例here 看起来应该很简单。

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

看看demo app,似乎他们没有使用FragmentActivity,他们使用的是SherlockActivity。好吧,SherlockActivity 确实有一个 getSupportActionBar() 方法,所以这是有希望的。继续这个例子……

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

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

【问题讨论】:

  • 您是否使用支持库来支持片段?还是您的目标是 Honeycomb 及以上?
  • 支持库。我相信该计划是 API 7 及更高版本。

标签: android actionbarsherlock


【解决方案1】:

您需要从 SherlockFragmentActivity 扩展,而不仅仅是 SherlockActivity 或 SherlockFragment。这样您就可以访问 ABS 和 Fragment 支持。

【讨论】:

  • 在我看来,这是正确的答案。至少这对我有用。无需像 SimonVT 建议的那样使用任何额外的库!
【解决方案2】:

我在尝试获取地图视图和片段以与 actionbarsherlock 一起使用时遇到了类似的问题。请参阅邮件列表中的my post。

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

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

在我的例子中,我做了一个额外的步骤来修改 SherlockActivity 以扩展 MapActivity,但是由于您没有提到地图,所以您不需要这样做。

可能还有其他解决方案,但这至少对我有用。

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

【讨论】:

  • 这实际上不会完全起作用,因为FragmentActivity 中的菜单实现将覆盖SherlockActivity 中的内容。但是,有一个专门为支持库构建的 .jar 文件,并针对这种情况进行了适当的 ABS 实现。
【解决方案3】:

尝试使用 com.actionbarsherlock.app.SherlockFragmentActivity 的扩展并查看 https://github.com/inazaruk/examples/tree/master/MapFragmentExample 以了解如何使用带有片段的地图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    相关资源
    最近更新 更多