Tab活动似乎死于随机加载状态drawable

时间:2011-04-27 02:40:05

标签: android nullpointerexception

当我添加Drawable时,我的TabActivity似乎在一小部分手机上消失。从报告中,相同的选项卡代码在一个位置成功运行,但在一次启动期间突然停止(通常通过待定意图)

在onCreate中执行的代码是这个

spec = theTtabHost.newTabSpec(STATS_TAG).setIndicator(getText(R.string.statsTab),
            res.getDrawable(R.drawable.ic_tab_stats))

我收到的堆栈跟踪在这里

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.Main}: android.content.res.Resources$NotFoundException: File res/drawable/ic_tab_stats.xml from drawable resource ID #0x7f020013
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2737)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2753)
at android.app.ActivityThread.access$2500(ActivityThread.java:129)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2107)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_tab_stats.xml from drawable resource ID #0x7f020013
at android.content.res.Resources.loadDrawable(Resources.java:1725)
at android.content.res.Resources.getDrawable(Resources.java:590)
at com.test.Main.onCreate(Main.java:162)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2701)
... 11 more
Caused by: java.lang.NullPointerException
at android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:349)
at android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:265)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:796)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:737)
at android.content.res.Resources.loadDrawable(Resources.java:1722)
... 15 more

ic_tab_stats.xml文件是可绘制的,就在这里。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/stats"
          android:state_selected="true" />
    <item android:drawable="@drawable/stats_deselect" />
</selector>

stats.png和stats_deselect.png是drawable中的同伴。 hdpi和ldpi没有任何文件,mdpi为空。我的应用支持回1.5,所以我使用drawable而不是mdpi。

从报告中看,它似乎很随机。

1 个答案:

答案 0 :(得分:0)

原来这是Android升级的一种正常行为。