2017-02-22 85 views
0

我使用Resource $ NotFoundException模拟4.4.4及更低版本的应用程序,导致应用程序崩溃。在更高的Android版本中,一切正常。这是代码:

image1.setImageResource(getResources().getIdentifier(test_image, 
           "drawable", getResources().getString(R.string.app_package))); 

为什么会发生这种情况,以及如何解决这个问题?

错误日志:

android.content.res.Resources$NotFoundException: Resource ID #0x7f020090 
        at android.content.res.Resources.getValue(Resources.java:1123) 
        at android.support.v7.widget.ResourcesWrapper.getValue(ResourcesWrapper.java:204) 
        at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:327) 
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:192) 
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:185) 
        at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100) 
        at android.support.v7.widget.AppCompatImageHelper.setImageResource(AppCompatImageHelper.java:69) 
        at android.support.v7.widget.AppCompatImageView.setImageResource(AppCompatImageView.java:78) 
+0

您应该调试并查看究竟发生了什么。例如,'getIdentifier'是否返回一个有效的标识符或0? – Vucko

+0

您是否试过使用'R.drawable'? –

+0

发布错误日志在这里 –

回答

0

尝试以下这一点:Why getDrawable() doesn't work on some Android devices?
尝试getResources “ContextCompat” 之前插入。
像这样:

ContextCompat.getDrawable(Context context, int id) 
+1

我有这个相同的问题,除非我不试图在运行时获取资源。然而,我确实有不同的基于主题的值,值是通过?attr/xyz指定的,然后xyz将是@ drawable/pdq 这些资源以预览模式显示在API 19中,但运行时找不到异常时间。 任何想法? 谢谢 Rich –

0

确实绘制文件夹包含与test_image值绘制的?

相关问题