моя активность расширяет AppCompatActivity и вылетает при запуске

Я создаю одно приложение, и я получаю сообщение об ошибке,

При запуске вылетает и пишет

Вызвано: java.lang.IllegalStateException: вам необходимо использовать тему Theme.AppCompat (или потомок) с этим действием.

Вот моя активность:

открытый класс SplashScreen расширяет AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash_screen);

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent intent = new Intent(SplashScreen.this, MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            startActivity(intent);
            finish();
        }
    }, 3000);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_splash_screen, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

}

 <!-- Base application theme. -->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@style/MyAnimation.Window</item>
    <item name="android:windowBackground">@color/background</item>

</style>

<!-- Application theme. -->
<style name="AppTheme1" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

Вот мой манифест:

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme1" >
    <activity
        android:name=".activity.SplashScreen"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Вот полный журнал ошибок:

Расширяет вашу активность с помощью FragmentActivity или Activity, потому что вы используете NoAcionBar в качестве темы.


person piyush poriya    schedule 16.10.2015    source источник
comment
мой манифест использует android:theme=@style/AppTheme   -  person Simas    schedule 16.10.2015
comment
Вы включили библиотеку поддержки appCompat в качестве библиотеки   -  person piyush poriya    schedule 16.10.2015
comment
Опубликуйте манифест и полное сообщение об ошибке. Что-то не сходится :)   -  person    schedule 16.10.2015
comment
В зависимостях я добавил компиляцию «com.android.support:appcompat-v7:23.0.0»   -  person Simas    schedule 16.10.2015
comment
какая у вас целевая версия приложения? @пиюшпория   -  person piyush poriya    schedule 16.10.2015
comment
моя цельSdkVersion 23..@Andrain   -  person Sanket Shah    schedule 16.10.2015
comment
@piyush: дайте ответ Дэниэлсу, попробуйте, может сработает, удалите appcompatactivity и добавьте Activity   -  person piyush poriya    schedule 16.10.2015
comment
да я пробовал, но та же ошибка..   -  person    schedule 16.10.2015
comment
Вы не опубликовали свой манифест.   -  person piyush poriya    schedule 16.10.2015
comment
см. вопрос редактирования @Simas   -  person Simas    schedule 16.10.2015
comment
эй, вы упоминались как AppTheme1, измените его на Apptheme в манифесте   -  person piyush poriya    schedule 16.10.2015
comment
да, я отредактировал их приложение, так что по какой-то причине ... но я дважды проверяю, я использую их же   -  person    schedule 16.10.2015
comment
нет, все еще есть та же ошибка.. Ничего не могу сделать..   -  person piyush poriya    schedule 16.10.2015
comment
Опубликуйте полные файлы: активность, манифест, стили. И, пожалуйста, скопируйте и вставьте - вам не придется перепроверять.   -  person piyush poriya    schedule 16.10.2015
comment
я все выложил.   -  person Simas    schedule 16.10.2015
comment
Вы решили это? Пожалуйста, напишите решение, если у вас есть   -  person piyush poriya    schedule 16.10.2015
comment
да, я сначала опубликовал файл манифеста, и по какой-то причине я проверил оба, я использую один и тот же стиль   -  person Zen    schedule 05.02.2016


Ответы (5)


Как я уже сказал, что-то не сходится.

person Danial Hussain    schedule 16.10.2015

Вы, кажется, используете разные темы:

В манифесте у вас есть

в то время как файл стилей содержит

@style/AppTheme1

Просто скопируйте следующий код в свой values-21 >>> Styles.xml, затем очистите проект и попробуйте запустить.

@style/AppTheme
person Simas    schedule 16.10.2015
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - person piyush poriya; 16.10.2015

для действия noActionBar:

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@style/MyAnimation.Window</item>
    <item name="android:windowBackground">@color/background</item>

</style>
  <!-- Application theme. -->
<style name="AppTheme1" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
person Sanket Shah    schedule 16.10.2015

style.xml

AndroidManifest.xml

<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">

</style>

SplashScreen.java

<activity
   android:name=".SplashScreenActivity"
   android:theme="@style/AppThemeNoActionBar" >
</activity>

Пожалуйста, обратитесь к этому треду.

import android.support.v7.app.AppCompatActivity;
public class SplashscreenActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splashscreen);
   }
}
person Chawki Messaoudi    schedule 16.10.2015

EDIT: несколько ответов из приведенной выше темы могут помочь вам решить эту проблему. Я перечислю резюме:

molokoka также заявляет, что обычно вам нужно настроить панель действий. Еще раз, пожалуйста, следуйте его ответу для получения подробной информации.

  1. tyczj также делает очень хорошее замечание: Проверьте и убедитесь, что у вас нет другой папки значений, которая ссылается на тему .styled и не использует тему AppCompat

<activity ... android:theme="@style/Theme.AppCompat" />

т.е. values-v11 папка.

  1. Проверьте свой манифест и убедитесь, что ваша активность использует <activity ... android:theme="@style/Theme.AppCompat" /> или values-v11.

Примечание: извините, я не могу добавить комментарий из-за низкой репутации. Вот почему я разместил ответ.

Ответ molokoka, чтобы добавить ActionBarCompat в вашу деятельность или приложение, должно использовать @style/Theme.AppCompat тема в AndroidManifest.xml выглядит следующим образом:

person AuroMetal    schedule 16.10.2015
comment
@ Анируд Шарма, извини. Я надеюсь, что редактирование может помочь не только ОП, но и всем, кому это может понадобиться. - person Anirudh Sharma; 21.10.2015
comment
НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: main 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: java.lang.RuntimeException: невозможно запустить активность ComponentInfo{com.social_infotech.renthouse/com.social_infotech.renthouse.activity .SplashScreen}: java.lang.IllegalStateException: вам необходимо использовать тему Theme.AppCompat (или потомок) с этим действием. 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 10-16 15:56:26.135 25342-25342/com. social_infotech.renthouse E/AndroidRuntime: в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: в android.app.ActivityThread. access$600(ActivityThread.java:141) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: на android.os.Handler.dispatchMessage(Handler.java:99) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: на android.os.Looper.loop(Looper.java:137) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime : в android.app.ActivityThread.main(ActivityThread.java:5103) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: в java.lang.reflect.Method.invokeNative(собственный метод ) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: в java.lang.reflect.Method.invoke(Method.java:525) 10-16 15:56:26.135 25342-25342 /com.social_infotech.renthouse E/AndroidRuntime: на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/ AndroidRuntime: на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: на dalvik.system.NativeStart.main (собственный метод) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: вызвано: java.lang.IllegalStateException: вам необходимо использовать тему Theme.AppCompat (или потомок) с этой деятельности. 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: на android.support.v7.app. AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:112) 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: в android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegate:1mpl4V87).java.java 10-16 15:56:26.135 25342-25342/com.social_infotech.renthouse E/AndroidRuntime: в android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:60) 10-16 15:56:26.135 25342- 25342/com.social_infotech.renthouse E/AndroidRuntime: в com.social_infotech.renthouse.activity.SplashScreen.onCreate(SplashScreen.java:16) - person AuroMetal; 21.10.2015