Android 添加ActionBar-需要使用Theme.AppCompat主题

Android 添加ActionBar-需要使用Theme.AppCompat主题,android,android-actionbar,Android,Android Actionbar,我需要添加ActionBar。我完成了从搜索中找到的步骤 1.添加了支持库(appcompat v7支持库) 2.扩展到ActionBarActivity 3.在styles.xml和清单中使用AppCompat主题 但是运行项目会导致设备崩溃,错误为“您需要使用Theme.AppCompat主题” styles.xml <resources> <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"&g

我需要添加ActionBar。我完成了从搜索中找到的步骤

1.添加了支持库(appcompat v7支持库)

2.扩展到ActionBarActivity

3.在styles.xml和清单中使用AppCompat主题

但是运行项目会导致设备崩溃,错误为“您需要使用Theme.AppCompat主题”

styles.xml

<resources>

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">

</style>


<style name="RatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/ratingbar</item>
    <item name="android:minHeight">48dip</item>
    <item name="android:maxHeight">48dip</item>
</style>

</resources>
LogCat

<application
    android:icon="@drawable/poweritsolar"
    android:label="@string/app_name" 
    >
    <activity
        android:label="@string/app_name"
        android:name=".Powerit_solarActivity" 
        android:theme="@style/AppBaseTheme">
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".login"></activity>
    <activity android:name=".signup"></activity>
    <activity android:name=".catagory_btns"></activity>
</application>
01-29 05:02:21.211: E/AndroidRuntime(2305): FATAL EXCEPTION: main
01-29 05:02:21.211: E/AndroidRuntime(2305): Process: com.power.it.solar, PID: 2305
01-29 05:02:21.211: E/AndroidRuntime(2305): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.power.it.solar/com.power.it.solar.catagory_btns}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.ActivityThread.access$700(ActivityThread.java:135)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.os.Handler.dispatchMessage(Handler.java:102)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.os.Looper.loop(Looper.java:137)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.ActivityThread.main(ActivityThread.java:4998)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at java.lang.reflect.Method.invokeNative(Native Method)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at java.lang.reflect.Method.invoke(Method.java:515)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at dalvik.system.NativeStart.main(Native Method)
01-29 05:02:21.211: E/AndroidRuntime(2305): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:111)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at com.power.it.solar.catagory_btns.onCreate(catagory_btns.java:20)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.Activity.performCreate(Activity.java:5243)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-29 05:02:21.211: E/AndroidRuntime(2305):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)

将Java继承从
ActionBarActivity
更改为
Activity
,并保留
清单中的主题

有关更多信息,请查看此


希望这有帮助:)

将Java继承从
ActionBarActivity
更改为
Activity
,并保留
manifest
中的主题

有关更多信息,请查看此

希望这有帮助:)

更换

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">


检查您的值文件夹中是否没有几个
样式.xml
,如果您支持很多操作系统版本,则很可能是IDE为您生成了这些样式。

替换

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">



检查您的值文件夹中是否没有几个
style.xml
,如果您支持很多操作系统版本,则很可能是IDE为您生成了这些版本。

android:theme=“@style/AppBaseTheme”
设置为应用程序级别集
android:theme=“@style/AppBaseTheme”
到应用程序级别,但使用了OP
getActionBar()谢谢。这对我来说很有效。但是ActionBarActivity有什么问题?为什么不使用ActionBarActivity不会出现错误?因为您尝试应用对话框主题的活动正在扩展ActionBarActivity,这需要应用AppCompat主题。。。需要应用的设计差异…但OP使用了
getActionBar()谢谢。这对我来说很有效。但是ActionBarActivity有什么问题?为什么不使用ActionBarActivity不会出现错误?因为您尝试应用对话框主题的活动正在扩展ActionBarActivity,这需要应用AppCompat主题。。。需要应用的设计差异。。。
<style name="AppBaseTheme" parent="android:Theme.AppCompat.Light">