Java Android:ActionBarSherlock项目中,按钮的findViewById在Android 2.3上返回null

Java Android:ActionBarSherlock项目中,按钮的findViewById在Android 2.3上返回null,java,android,actionbarsherlock,android-2.3-gingerbread,Java,Android,Actionbarsherlock,Android 2.3 Gingerbread,我正在开发Android项目,目标是4.2.2,但最低支持版本是2.3。该项目大量使用ActionBarSherlock库。在清单文件中,我写入: android:theme="@style/Theme.Sherlock" > 当我在安卓4.2.2设备和安卓4.0上测试我的项目时,一切都很好,但当我尝试在安卓2.3上运行应用程序时,它崩溃了,出现了下一个日志: 在调试过程中,我注意到自定义操作栏(custom_bar)上的一些按钮为空。我使用以下代码创建自定义ActionBar:

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

 android:theme="@style/Theme.Sherlock" >
当我在安卓4.2.2设备和安卓4.0上测试我的项目时,一切都很好,但当我尝试在安卓2.3上运行应用程序时,它崩溃了,出现了下一个日志:

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

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

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

从日志中清除,您必须使用Sherlock指定的设置,如
主题.Sherlock.Light
等。。在您的清单文件中

希望这对以下方面有所帮助:

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

您是否在
onCreate
方法中指定了该选项

@Override
public void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.Theme_Sherlock);
    super.onCreate(savedInstanceState);
   //other stuff here
}

你读过我的评论吗?在我的清单文件中,我写了style/Theme.Sherlock,但错误仍然是一样的!在创建该活动时发布您的全部清单。谢谢!你真的帮了我。我忘了在onCreate()中指定它