(Activity + preferencefragment)膨胀类com.android.internal.widget.ActionBarContainer的错误 [英] (Activity+preferencefragment) Error inflating class com.android.internal.widget.ActionBarContainer

查看:94
本文介绍了(Activity + preferencefragment)膨胀类com.android.internal.widget.ActionBarContainer的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道这个错误. 我从Google开发人员控制台获得了这些消息. z3,htc m8和m9等某些设备无法执行我的应用.有人可以给我一些有关该错误的提示吗?

I have no idea about this error. I got these mesaage from google developer console. Some devices like z3, htc m8 ,m9 can't execute my app. Could someone give me some hint about the error?

Stacktrace:

Stacktrace :

java.lang.RuntimeException: Unable to start activity ComponentInfo{package name/package name.SettingsActivity}: android.view.InflateException: Binary XML file line #31: Error inflating class com.android.internal.widget.ActionBarContainer
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2499)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2563)
    at android.app.ActivityThread.access$800(ActivityThread.java:162)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1438)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:209)
    at android.app.ActivityThread.main(ActivityThread.java:5900)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1005)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:800)
    Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class com.android.internal.widget.ActionBarContainer
    at android.view.LayoutInflater.createView(LayoutInflater.java:633)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
    at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3659)
    at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3755)
    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:403)
    at android.app.Activity.setContentView(Activity.java:2174)
    at android.preference.PreferenceActivity.onCreate(PreferenceActivity.java:553)
    at pavkage name.SettingsActivity.onCreate(Unknown Source)
    at android.app.Activity.performCreate(Activity.java:5981)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1124)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2452)
    ... 10 more
    Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
    at android.view.LayoutInflater.createView(LayoutInflater.java:607)
    ... 24 more
    Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 13
    at android.content.res.TypedArray.getDrawable(TypedArray.java:747)
    at android.view.View.<init>(View.java:3785)
    at android.view.ViewGroup.<init>(ViewGroup.java:513)
    at android.widget.FrameLayout.<init>(FrameLayout.java:128)
    at android.widget.FrameLayout.<init>(FrameLayout.java:124)
    at android.widget.FrameLayout.<init>(FrameLayout.java:119)
    at com.android.internal.widget.ActionBarContainer.<init>(ActionBarContainer.java:61)
    ... 27 more

styles.xml

styles.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">true</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

AndroidManifest.xml

AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity
        android:name="package name.SettingsActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:theme="@style/AppTheme.AppBarOverlay">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

xml

    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:title="@string/pref_general_category">
        <SeekBarPreference
            android:defaultValue="10"
            android:key="@string/PrefResetWhistleIntervalKey"
            android:summary="@string/pref_reset_whistle_interval"
            android:title="@string/pref_title_reset_whistle_interval"/>
        <SeekBarPreference
            android:defaultValue="10"
            android:key="@string/PrefWhistleAmountKey"
            android:summary="@string/pref_whistle_count"
            android:title="@string/pref_title_whistle_count"/>
        <SeekBarPreference
            android:key="@string/PrefVolumeKey"
            android:summary="@string/pref_alarm_volume"
            android:title="@string/pref_title_alarm_volume"/>
        <SwitchPreference
            android:defaultValue="false"
            android:key="@string/PrefMediaPlayerLoopKey"
            android:summary="@string/pref_mediaplay_loop"
            android:title="@string/pref_title_mediaplay_loop"/>
        <Preference
            android:clickable="false"
            android:editable="false"
            android:enabled="true"
            android:key="@string/PrefChooseAudioKey"
            android:selectable="true"
            android:summary=""
            android:title="@string/pref_title_choose_media"/>
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/pref_battery_save_category">
        <ListPreference
            android:defaultValue="@string/pref_sensitivity_default_value"
            android:dialogTitle="@string/pref_title_sensitivity"
            android:entries="@array/array_sensitivity_item"
            android:entryValues="@array/array_sensitivity_value"
            android:key="@string/PrefSensitivityKey"
            android:summary="@string/pref_sensitivity"
            android:title="@string/pref_title_sensitivity"/>
    </PreferenceCategory>
        <PreferenceCategory android:title="@string/pref_system_category">
            <SwitchPreference
                android:defaultValue="true"
                android:key="@string/PrefEnableServiceKey"
                android:summary="@string/pref_service_on_off"
                android:title="@string/pref_title_service_on_off"/>
            <SwitchPreference
                android:defaultValue="true"
                android:key="@string/PrefEnableBootServiceKey"
                android:summary="@string/pref_start_service_ono_ff"
                android:title="@string/pref_title_start_service_on_off"/>
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/testMode">
        <Preference
            android:clickable="false"
            android:editable="false"
            android:enabled="true"
            android:key="@string/PrefTestModeKey"
            android:selectable="true"
            android:summary="@string/pref_test_mode"
            android:title="@string/pref_title_test_mode"/>
    </PreferenceCategory>
</PreferenceScreen>

seekbarpreference来自 http://robobunny.com/blog_files/android_seekbar_preference/SeekBarPreference.java

seekbarpreference taken from http://robobunny.com/blog_files/android_seekbar_preference/SeekBarPreference.java

推荐答案

我遇到了同样的错误,这就是我的处理方式. 在styles.xml文件中,在第一个"AppTheme"样式中,将Base放在Theme.AppCompat的前面.因此它将是"Base.Theme.AppCompat.Light.DarkActionBar".

I had the same error, and here is how I dealt with it. In the styles.xml file, in the first "AppTheme" style put Base infront of Theme.AppCompat. So it would be "Base.Theme.AppCompat.Light.DarkActionBar".

在此之后,转到"AndroidManifest",并且在您的活动中不要使用"AppBarOverlay".这样就只能是"android:theme ="@ style/AppTheme".

After this, go to your "AndroidManifest" and in your activity do not use "AppBarOverlay". So it would be just "android:theme="@style/AppTheme".

此外,在"AndroidManifest"中,从活动名称中删除包名称",而只需使用".SettingsActivity".

Furthermore, in "AndroidManifest" remove "package name" from your activity name, and just use ".SettingsActivity".

如果您还有其他活动,则无需在每个活动中定义AppTheme,只需使用android:parentActivityName =.SettingsActivity".

If you have other activities then instead of defining AppTheme in each activity, just use android:parentActivityName=".SettingsActivity."

我知道您想要一个操作栏,删除AppBarOverlay可能会有所帮助. 让我知道它是否有效.

I know you want to have an action bar and removing AppBarOverlay could help. Let me know if it works.

这篇关于(Activity + preferencefragment)膨胀类com.android.internal.widget.ActionBarContainer的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆