0

我正在开发目标为 4.2.2 但最低支持版本为 2.3 的 Android 项目。该项目大量使用 ActionBarSherlock 库。在清单文件中我写:

 android:theme="@style/Theme.Sherlock" >

当我在 Android 4.2.2 设备和 Android 4.0 上测试我的项目时,一切正常,但是当我尝试在 Android 2.3 上运行该应用程序时,它崩溃并出现下一个日志: 在此处输入图像描述

在调试过程中,我注意到我的自定义 ActionBar (custom_bar) 上的一些按钮为空。我使用此代码来创建自定义 ActionBar:

 ActionBar theBar = getSupportActionBar();
    theBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    theBar.setCustomView(R.layout.custom_bar);

那么如何解决这个问题呢?ActionBarSherlock 库的某些功能是否与 2.3 兼容?

4

2 回答 2

1

文档

主题应该在您的清单中为整个应用程序或基于每个活动定义。您也可以在调用 super.onCreate(Bundle) 之前在每个活动的代码中定义主题。对于您从“Sherlock”活动基类之一扩展并打算使用操作栏的每个活动,都必须执行此操作。有关如何指定主题的更多信息,请参阅 Android 官方文档。

你在你的onCreate方法中指定了吗?

@Override
public void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.Theme_Sherlock);
    super.onCreate(savedInstanceState);
   //other stuff here
}
于 2013-05-13T15:30:04.467 回答
0

从日志中清楚,您必须在清单文件Theme.Sherloclk.Light中使用 Sherlock 指定它们设置,例如等

希望这可以帮助

于 2013-05-13T15:23:47.817 回答