Android ActionBarSherlock:java.lang.IllegalStateException在极少数设备上

Android ActionBarSherlock:java.lang.IllegalStateException在极少数设备上,android,exception,themes,actionbarsherlock,android-actionbar,Android,Exception,Themes,Actionbarsherlock,Android Actionbar,我有一个很奇怪的问题。我在我的项目中使用ActionbarSherlock。在极少数设备上,我得到: java.lang.RuntimeException: Unable to start activity ComponentInfo{de.felitec.dow/de.felitec.dow.ui.LoginActivity}: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light,

我有一个很奇怪的问题。我在我的项目中使用ActionbarSherlock。在极少数设备上,我得到:

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.felitec.dow/de.felitec.dow.ui.LoginActivity}: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
at android.app.ActivityThread.access$500(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4123)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
at com.actionbarsherlock.internal.ActionBarSherlockCompat.generateLayout(ActionBarSherlockCompat.java:976)
at com.actionbarsherlock.internal.ActionBarSherlockCompat.installDecor(ActionBarSherlockCompat.java:902)
at com.actionbarsherlock.internal.ActionBarSherlockCompat.setContentView(ActionBarSherlockCompat.java:836)
at com.actionbarsherlock.app.SherlockActivity.setContentView(SherlockActivity.java:229)
at de.felitec.dow.ui.LoginActivity.onCreate(LoginActivity.java:36)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
... 11 more
我的登录活动如下所示:

public class LoginActivity extends SherlockActivity implements AuthCallback<OAuthConsumer> {

    private ProgressDialog progDialog;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
    }

...
公共类LoginActivity扩展SherlockActivity实现AuthCallback{
私有进程对话;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
}
...
还有我的舱单:

<application
    android:label="@string/app_name"
    android:icon="@drawable/ic_app_launcher"
    android:name=".MainApplication"
    android:theme="@style/MainAppTheme">

    <activity
        android:name=".ui.SplashActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Sherlock.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

    <activity
        android:name=".ui.LoginActivity"
        android:windowSoftInputMode="adjustPan|stateHidden"
        android:screenOrientation="portrait"/>
...

...
最后是my style.xml:

<style name="MainAppTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
    <item name="homeAsUpIndicator">@drawable/back_indicator</item>
...

@可拉拔/后倾指示器
...
请注意,SplashActivity运行得很好。当它启动intent for LoginActivity时,它崩溃了,我真的不明白为什么


提前感谢

用此更新您的Manifiest文件

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

LoginActivity.java第36行是什么?如果你查看发布的源代码和stacktrace(在你看到的行上方的一行),你会看到36是
setContentView(R.layout.login);
@user1776342尝试为你的LoginActivity使用一个显式的Sherlock主题。你还可以说明在哪些设备上(android版本)错误发生了,哪些没有?可能是android框架中的一个错误。否则,你应该在哪些设备上提交一个问题,因为bugsense sdk甚至无法识别它。看起来有些用户报告了这一点(其中一个来自GT-P6800)通过android错误框架,我今天遇到了这种情况。我的项目似乎有一个
values-v11
和一个
values-v14
文件夹,其中包含不正确的基本主题。删除这些文件夹可以解决运行旧版本android的设备的此问题。