发生样式运行时错误



当我将values-v14/styles.xml文件中的值从更改时

parent="Theme.AppCompat.Light.DarkActionBar"   to:
 parent="android:Theme.Holo"

应用程序崩溃,logcat说:运行时错误!

我该怎么办?

这是日志:

10-12 09:09:29.850: E/AndroidRuntime(1910): FATAL EXCEPTION: main 
10-12 09:09:29.850: E/AndroidRuntime(1910): Process: absolute.begginners.hellouniverse, PID: 1910 
10-12 09:09:29.850: E/AndroidRuntime(1910): java.lang.RuntimeException: Unable to start activity ComponentInfo{absolute.begginners.hellouniverse/absolute.begginners.hellouniverse.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.ActivityThread.access$800(ActivityThread.java:135) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.os.Handler.dispatchMessage(Handler.java:102) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.os.Looper.loop(Looper.java:136) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.ActivityThread.main(ActivityThread.java:5017) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at java.lang.reflect.Method.invokeNative(Native Method) 10-12 09:09:29.850: E/AndroidRuntime(1910): at java.lang.reflect.Method.invoke(Method.java:515) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at dalvik.system.NativeStart.main(Native Method) 
10-12 09:09:29.850: E/AndroidRuntime(1910): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:110)10-12 09:09:29.850: E/AndroidRuntime(1910): at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at absolute.begginners.hellouniverse.MainActivity.onCreate(MainActivity.java:13) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.Activity.performCreate(Activity.java:5231) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
10-12 09:09:29.850: E/AndroidRuntime(1910): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
10-12 09:09:29.850: E/AndroidRuntime(1910): ... 11 more

您的类扩展了ActionBarActivity,这就是为什么您只能使用AppCompat主题。

如果你想使用holo,让你的类扩展Activity。示例

public class MainActivity extends Activity {
    ...
}

我不得不将main.xml设置为以下

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

最新更新