android.content.res.Resources $ NotFoundException在启动时,仅在api 23及以下版本中

时间:2018-04-06 17:16:05

标签: android

我主要在API 26和27上测试我的应用程序,这是我现在正在学习的重大错误。该应用程序在启动时在API 24,25,26和27中无故障运行。谷歌的发布前报告随后引起了我对API 23及其轰动的关注。日志中有关于菜单的列表,所以我调试了它,发现它在我调用

时崩溃了
  

MenuInflater inflater = getMenuInflater();

     

inflater.inflate(R.menu.actionbar_menu,menu);

以下是之后返回的错误:

android.content.res.Resources$NotFoundException: Resource ID #0x7f06006b
    at android.content.res.Resources.getValue(Resources.java:1351)
    at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328)
    at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
    at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
    at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
    at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:491)
    at android.support.v7.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:125)
    at android.support.v7.widget.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:210)
    at android.support.v7.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:187)
    at android.support.v7.widget.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:196)
    at android.support.v7.widget.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:505)
    at android.support.v7.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1164)
    at android.support.v7.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:95)
    at android.support.v7.widget.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:229)
    at android.support.v7.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:291)
    at android.support.v7.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:1051)
    at android.support.v7.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:1078)
    at android.support.v7.app.AppCompatDelegateImplV9.preparePanel(AppCompatDelegateImplV9.java:1419)
    at android.support.v7.app.AppCompatDelegateImplV9.doInvalidatePanelMenu(AppCompatDelegateImplV9.java:1657)
    at android.support.v7.app.AppCompatDelegateImplV9$1.run(AppCompatDelegateImplV9.java:134)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5417)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

这是我正在膨胀的菜单文件:

<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_sms"
        android:orderInCategory="96"
        android:icon="@drawable/send_text"
        android:title="@string/send_sms"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_undo"
        android:orderInCategory="97"
        android:icon="@drawable/undo"
        android:title="@string/undo"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_switch_courts"
        android:orderInCategory="98"
        android:icon="@drawable/reverse"
        android:title="@string/change_courts"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_reset"
        android:orderInCategory="99"
        android:title="@string/reset" />

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/settings">
    </item>

</menu>

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

检查您是否在-v21(或类似)文件夹下创建了任何资源。移至基础文件夹。

参考:android.content.res.Resources$NotFoundException: Resource ID #0x7f040019

文档:https://developer.android.com/guide/topics/resources/providing-resources.html