Если я использую ActionBarActivity, я получаю фатальное исключение

Если я использую ActionBarActivity вместо Activity, я получаю фатальное исключение. Я добавил библиотеку поддержки android.support.v7.app.ActionBarActivity;

Вот мое исключение:

FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
            at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:120)
            at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146)
            at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59)
            at com.yemensoft.Onyx.SecondActivity.onCreate(SecondActivity.java:30)
            at android.app.Activity.performCreate(Activity.java:5203)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
            at android.app.ActivityThread.access$700(ActivityThread.java:143)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4960)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
            at dalvik.system.NativeStart.main(Native Method)

person Maqsood Alam    schedule 11.08.2015    source источник
comment
ActionBarActivity в настоящее время устарел, вы должны использовать AppCompatActivity.   -  person Thomaz Freitas Barbosa    schedule 11.08.2015
comment
Да обесценивается....   -  person Maqsood Alam    schedule 11.08.2015


Ответы (1)


С этого момента вам следует избегать использования ActionBarActivity, поскольку, как упоминал там Томас, несколько месяцев назад он устарел.

Что касается AppCompatActivity, перейдите по этой ссылке: https://androidresearch.wordpress.com/2015/04/24/example-usage-of-appcompatactivity-in-android/

Вам нужно внести несколько изменений, но ничего сложного, и его использование в основном такое же.

person Matheus Mohr    schedule 11.08.2015
comment
Мор, я обновил библиотеку поддержки до 22.2.1. Теперь расширил SecondActivity до AppCompatActivity, но все та же ошибка - person Maqsood Alam; 11.08.2015
comment
Вероятно, это проблема с импортом lib. Сначала проверьте, импортированы ли в ваш проект как appcompat v4, так и v7, после этого, если вы используете eclipse, вы, скорее всего, указываете непосредственно на файл JAR appcompat, вместо этого добавьте его как библиотеку и используйте эту библиотеку в своем проекте. (для этой второй части здесь есть еще один вопрос SO › stackoverflow.com/questions/27164539/ ). - person Matheus Mohr; 12.08.2015
comment
Либо это одна из ситуаций, которые я указал выше, либо это что-то вроде дублирующихся ссылок на файл appcompat. В любом случае подтвердите, какую IDE вы используете и как вы импортировали appcompat для использования в своем проекте. - person Matheus Mohr; 12.08.2015