2012-10-27 15 views
6

私は100,000人以上のユーザーがいるアプリケーションを持っています。しかし、いくつかのデバイス(〜50)では、私は奇妙な例外を取得します。スタックトレースには、ドロウアブルがないことが示されています。ここ
は、スタックトレースです:

java.lang.RuntimeException: Unable to start activity ComponentInfo{mindmApp.the.big.bang.theory.quiz/mindmApp.the.big.bang.theory.quiz.GameNormalActivity}: android.view.InflateException: Binary XML file line #237: Error inflating class 
... 
Caused by: android.view.InflateException: Binary XML file line #237: Error inflating class 
at android.view.LayoutInflater.createView(LayoutInflater.java:606) 
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) 
... 
Caused by: java.lang.reflect.InvocationTargetException 
at java.lang.reflect.Constructor.constructNative(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
at android.view.LayoutInflater.createView(LayoutInflater.java:586) 
... 28 more 
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/textviewxml_joker.xml from drawable resource ID #0x7f02003d 
at android.content.res.Resources.loadDrawable(Resources.java:1956) 
at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
at android.view.View.(View.java:2841) 
at android.widget.TextView.(TextView.java:580) 
at android.widget.TextView.(TextView.java:573) 

私はこの描画可能に(それはXMLファイルです)が発見されていない理由はわかりません。
バイナリXMLファイルのライン#237は、次のとおりです。

<TextView 
        android:id="@+id/textViewSkip" 
        android:layout_width="0px" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="4dp" 
        android:layout_weight="1" 
        android:background="@drawable/textviewxml_joker" 
        android:gravity="center" 
        android:text="@string/tvSkip" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="@color/color_textview" 
        android:textSize="22sp" /> 

そして、ここではtextviewxml_joker.xmlファイルは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:drawable="@drawable/textview_joker_pressed" 
    android:state_pressed="true"/> 
<item android:drawable="@drawable/textview_joker"/> 
</selector> 

この問題osolve誰のアイデアのトンをお持ちですか?

よろしく!

+0

この 'textviewxml_joker.xml'ファイルは' drawable'フォルダにありますか? – user370305

+0

はい、textviewxml_joker.xmlファイルはドロウアブルフォルダです。 – Namenlos

+0

こんにちは@Namenlos、私は似たような問題に直面しています..これと運がいいですか?シェアしてください。 –

答えて

1

あなたtextviewxml_joker.xmlファイルがdrawableではなく、むしろdrawable-*フォルダにない場合は、エラーを取得し、それらのいくつかのデバイスは、drawable-*フォルダを使用するための条件を満たしていない場合があります。

drawableにも入れてください。

+0

いいえ、textviewxml_joker.xmlファイルは通常のドロウアブルフォルダにあります。 – Namenlos

0

複数のリソースフォルダがある場合は、すべての可能な修飾子の組み合わせ(Providing Resources)に対してAndroidがあなたの描画可能なxmlを見つけていることを確認してください。このエラーが発生したデバイスの種類を見ると、どこにヒントが表示されるかわかります。

+2

ファイルは通常の描画可能フォルダにあります。すべてのデバイスはそれを見つける必要がありますか? – Namenlos

1

これは、あなたが参照しているリソース(ResAと呼ぶことができます)が欠落しているリソース(ResBと呼ぶことができます)を参照している場合にも発生します。 本当に見つからないものがResBであっても、AndroidはResAのResourceNotFoundExceptionを発生させます。それが人生だ!

私のケースでは、ResBは値swxxxdpでは定義されていましたが、値には定義されていませんでした。したがって、私は電話ではなくタブレットでこの例外を取得していました。

関連する問題