私はこのような色を取得しており、クラッシュレポートに表示されているいくつかのデバイスでは0を返しています。それらはすべてres/values/colors.xml
です。 Ex。 <color name="firstcolor">#A8A77A</color>
。 colorString
は動的です。Resources.NotFoundExceptionは一部のデバイスでのみ発生します
int primaryColor = ContextCompat.getColor(context,
context.getResources().getIdentifier(colorString.toLowerCase(),
context.getString(R.string.color), context.getPackageName()));
私はこれらのデバイス上でテストしてみたし、それが動作します: LG G5(7.0) - ノキアN1(5.1.1) - モトローラG(5.1) - サムスンコアプライム(4.4.4)
クラッシュレポートは、これらの中から、次のとおりです。 サムスンエース4(4.4.2) - ソニーのXperia M5 E5603(6.0) - NGの羨望(4.4.2)
Fatal Exception: android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1133)
at android.content.res.Resources.getColor(Resources.java:815)
at android.support.v4.content.ContextCompat.getColor(ContextCompat.java:434)
理由を見つけるために、任意の方法それはdoeこれらのデバイスのいくつかで動作しませんか?
いいえ、私はidで動的に取得する必要があります。多くの色があります。 – ono