2017-02-22 13 views
0

バージョン4.4.4以下でアプリをエミュレートするResources $ NotFoundExceptionでアプリがクラッシュしました。より高い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のプレビューモードで表示されますが、実行時に例外が見つかりません時間。 アイデア ありがとうございました リッチ –

0

は描画可能なフォルダがtest_image値で描画可能が含まれていますか?

関連する問題