4

У меня очень странная проблема. Я использую ActionbarSherlock в своем проекте. И очень мало устройств я получаю:ActionBarSherlock: java.lang.IllegalStateException на очень немногих устройствах

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 

Мой LoginActivity выглядит следующим образом:

public class LoginActivity extends SherlockActivity implements AuthCallback<OAuthConsumer> { 

    private ProgressDialog progDialog; 

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

... 

И мой Manifest:

<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"/> 
... 

И, наконец, моя style.xml:

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

Обратите внимание, что SplashActivit y работает отлично. Когда он запускает намерение для LoginActivity, он падает, и я действительно не понимаю, почему.

заранее заблаговременно

+0

LoginActivity.java line 36-- что это такое? –

+0

, если вы посмотрите на опубликованный источник и стек (одна строка над линией, которую вы видели), вы увидите, что 36 является 'setContentView (R.layout.login);' – Dodge

+0

@ user1776342 пытается использовать явную тему Шерлока для ваша активность в отношении входа. также можете ли вы указать, на каких устройствах (версия для Android) возникает ошибка, а на которой нет? может быть ошибкой в ​​инфраструктуре Android. в противном случае вы должны указать проблему на [ABS github] (https://github.com/JakeWharton/ActionBarSherlock) – Dodge

ответ

2

Обновите свой файл Manifiest этим.

android:theme="@style/Theme.Sherlock" 
Смежные вопросы