Translate

[Android Studio] 'Theme.NoTitleBar' 작업 시 'You need to use a Theme.AppCompat theme' 에러



Android Studio 에서 프로젝트를 생성 후 TitleBar 를 없애기 위해서
AndroidManifest.xml 의 Activity 에 다음과 같이 기술했었다.

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

하지만 황당하게도 에러가 발생을 하면서 앱이 종료가 된다.



Android Studio (version: 0.3.2)
 AndroidManifest.xml

        <activity android:name="MainActivity"
                  android:theme="@android:style/Theme.NoTitleBar"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>



 Exception

11-06 17:55:02.108  13995-13995/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplicationtest/com.example.myapplicationtest.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2202)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)
            at android.app.ActivityThread.access$600(ActivityThread.java:146)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1240)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5168)
            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:797)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
            at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:111)
            at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
            at com.example.myapplicationtest.MainActivity.onCreate(MainActivity.java:18)
            at android.app.Activity.performCreate(Activity.java:5200)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)
            at android.app.ActivityThread.access$600(ActivityThread.java:146)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1240)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5168)
            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:797)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
            at dalvik.system.NativeStart.main(Native Method)



하지만 IntelliJ Ultimate version 에서는 똑같이 프로젝트를 생성 후 해당 부분을 넣어줘도 문제가 발생하지 않는다.


IntelliJ Ultimate 에서 정상적으로 돌아간 소스를 Android Studio 에 import 해서 테스트 해봤더니 정상적으로 돌아가긴 한다.
Android Studio 에서 특정 파일에 필요한 내용을 넣지 않았거나 하는 생각이 든다.

그냥 Android Studio 의 버그로 판단..;;

댓글