RuntimeException无法启动活动。。充气异常二进制XML行#37:充气类com.android.internal.widget.ActionBarView时出错

RuntimeException无法启动活动。。充气异常二进制XML行#37:充气类com.android.internal.widget.ActionBarView时出错,android,exception,crash,android-actionbar,android-theme,Android,Exception,Crash,Android Actionbar,Android Theme,当我将主题添加到“活动”中时,应用程序在使用下面的logcat打开该活动后崩溃 FATAL EXCEPTION: main Process: com.jd.activity, PID: 16672 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jd.activity/com.jd.activity.AlertActivity}: android.view.InflateException: Bin

当我将主题添加到“活动”中时,应用程序在使用下面的logcat打开该活动后崩溃

 FATAL EXCEPTION: main
Process: com.jd.activity, PID: 16672
 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jd.activity/com.jd.activity.AlertActivity}: android.view.InflateException: Binary XML file line #37: Error inflating class com.android.internal.widget.ActionBarView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2331)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
at android.app.ActivityThread.access$900(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1277)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5479)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
 Caused by: android.view.InflateException: Binary XML file line #37: Error inflating class com.android.internal.widget.ActionBarView
at android.view.LayoutInflater.createView(LayoutInflater.java:626)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3296)
at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3359)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:362)
at android.app.Activity.setContentView(Activity.java:2031)
at com.jd.activity.AlertActivity.onCreate(AlertActivity.java:59)
at android.app.Activity.performCreate(Activity.java:5451)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
... 11 more
 Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:600)
... 25 more
 Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:626)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at com.android.internal.widget.ActionBarView.initTitle(ActionBarView.java:1200)
at com.android.internal.widget.ActionBarView.setDisplayOptions(ActionBarView.java:982)
at com.android.internal.widget.ActionBarView.<init>(ActionBarView.java:398)
... 28 more
 Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:600)
... 37 more
 Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
at android.content.res.TypedArray.getColor(TypedArray.java:327)
at android.widget.TextView.<init>(TextView.java:1003)
at android.widget.TextView.<init>(TextView.java:908)
... 40 more
当我删除主题行时,效果很好

我已经将
android-support-v7-appcompat
添加到项目的构建路径中,并且我从sdk\extras\android\v7导入的应用程序勾选了“将项目复制到工作场所”

也在清单中


我的最终目标是添加ActionBar。有没有其他简单的方法来添加动作栏而不使用主题?

我通过创建自己的主题解决了这个问题

<style name="MyTheme" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
    <item name="android:windowBackground">@color/gray</item>
    <item name="android:colorBackground">@color/gray</item>
    <item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
    <item name="android:actionModeCloseButtonStyle">@style/CloseButton</item>
    <item name="android:actionModeBackground">@drawable/action_bar_inset_backgruond</item>
    <item name="contentInsetLeft">10dp</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:icon">@android:color/transparent</item>
    <item name="android:background">@color/black_tint_80</item>
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item>
    <item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
    <item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
    <item name="android:actionModeCloseButtonStyle">@style/CloseButton</item>
    <item name="android:actionModeBackground">@drawable/action_bar_inset_backgruond</item>
    <item name="android:logo">@drawable/actionbar_space_between_icon_and_title</item>
    <item name="contentInsetLeft">10dp</item>
</style>

<style name="AppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.StatusBar.Title">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">20sp</item>
    <item name="android:gravity">center</item>
    <item name="android:paddingLeft">100dp</item>
    <item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
</style>

<style name="OverflowMenuButton" parent="@android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_action_view_as_grid</item>
</style>

<style name="ActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton">
    <item name="android:minWidth">100dip</item>
    <item name="android:paddingLeft">100dip</item>
    <item name="android:paddingRight">100dip</item>                  
</style>

<style name="CloseButton" parent="@android:style/Widget.Holo.ActionButton.CloseMode">
    <item name="android:background">@drawable/ic_action_view_as_grid</item>
</style>

而且,在这样做的同时,不需要从
ActionBarActivity

扩展到
android:theme=“@style/theme.AppCompat”
hey。。它通过Theme.AppCompat解决了崩溃问题,但我看不到ActionBar。请告诉我我必须使用什么主题来添加带有我的颜色的ActionBar和ActionBar上的一个按钮,以在点击后打开抽屉button@ShirishHerwade使用工具栏尝试此主题
,并将此主题设置为您的活动在Raghunandan提供的链接中,有写为“你的所有活动都必须从ActionBarActivity扩展”。这是真的吗???,因为我在扩展活动。
 android:theme="@style/MyTheme.ActionBar.TitleTextStyle"
<style name="MyTheme" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
    <item name="android:windowBackground">@color/gray</item>
    <item name="android:colorBackground">@color/gray</item>
    <item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
    <item name="android:actionModeCloseButtonStyle">@style/CloseButton</item>
    <item name="android:actionModeBackground">@drawable/action_bar_inset_backgruond</item>
    <item name="contentInsetLeft">10dp</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:icon">@android:color/transparent</item>
    <item name="android:background">@color/black_tint_80</item>
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item>
    <item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
    <item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
    <item name="android:actionModeCloseButtonStyle">@style/CloseButton</item>
    <item name="android:actionModeBackground">@drawable/action_bar_inset_backgruond</item>
    <item name="android:logo">@drawable/actionbar_space_between_icon_and_title</item>
    <item name="contentInsetLeft">10dp</item>
</style>

<style name="AppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.StatusBar.Title">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">20sp</item>
    <item name="android:gravity">center</item>
    <item name="android:paddingLeft">100dp</item>
    <item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
</style>

<style name="OverflowMenuButton" parent="@android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_action_view_as_grid</item>
</style>

<style name="ActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton">
    <item name="android:minWidth">100dip</item>
    <item name="android:paddingLeft">100dip</item>
    <item name="android:paddingRight">100dip</item>                  
</style>

<style name="CloseButton" parent="@android:style/Widget.Holo.ActionButton.CloseMode">
    <item name="android:background">@drawable/ic_action_view_as_grid</item>
</style>
android:theme="@style/MyTheme"