setImageResource提供的java.lang.StackOverflower错误

setImageResource提供的java.lang.StackOverflower错误,java,android,Java,Android,我的android应用程序在初始化tabhost时崩溃。但是用户的崩溃日志非常奇怪 大部分崩溃来自Android2.3.x,在Android4.x上运行良好 我可以看到,当我调用“setImageResource”时,代码运行到一个infinate递归中,但我不明白为什么。 代码: 查看tabIndicator=LayoutInflater.from(this).充气(R.layout.tab_indicator,getTabWidget(),false); ImageView图标=(Image

我的android应用程序在初始化tabhost时崩溃。但是用户的崩溃日志非常奇怪

大部分崩溃来自Android2.3.x,在Android4.x上运行良好

我可以看到,当我调用“setImageResource”时,代码运行到一个infinate递归中,但我不明白为什么。 代码:

查看tabIndicator=LayoutInflater.from(this).充气(R.layout.tab_indicator,getTabWidget(),false); ImageView图标=(ImageView)选项卡indicator.findViewById(R.id.icon); icon.setImageResource(drawableId);//坠毁
java.lang.StackOverflower错误
位于android.graphics.drawable.StateListDrawable$StateListState.(StateListDrawable.java:257)
位于android.graphics.drawable.StateListDrawable.(StateListDrawable.java:303)
位于android.graphics.drawable.StateListDrawable.(StateListDrawable.java:70)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:787)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:728)
位于android.content.res.Resources.loadDrawable(Resources.java:1712)
位于android.content.res.Resources.getDrawable(Resources.java:590)
在android.widget.ImageView.resolveUri(ImageView.java:564)上
在android.widget.ImageView.setImageResource(ImageView.java:280)上
位于com.thankcreate.care.MainActivity.addTab(MainActivity.java:95)
位于com.thankcreate.care.MainActivity.setTabs(MainActivity.java:78)
位于com.thankcreate.care.MainActivity.onCreate(MainActivity.java:36)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
在android.app.ActivityThread.access,售价1500美元(ActivityThread.java:132)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:143)
位于android.app.ActivityThread.main(ActivityThread.java:4277)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:507)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:839)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
在dalvik.system.NativeStart.main(本机方法)

这是由执行无限循环引起的。这可能是由于在用作图标的绘图表中出现循环调用造成的。具有指定的
drawableId
的Drawable可能正在调用第二个Drawable,第二个Drawable反过来调用第一个Drawable

提供有关您正在使用的绘图工具的更多详细信息。这可能有助于提供更好的答案。

您指的是相同的吗 View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false); ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon); icon.setImageResource(drawableId); // crashed
    java.lang.StackOverflowError
at android.graphics.drawable.StateListDrawable$StateListState.<init>(StateListDrawable.java:257)
at android.graphics.drawable.StateListDrawable.<init>(StateListDrawable.java:303)
at android.graphics.drawable.StateListDrawable.<init>(StateListDrawable.java:70)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1712)
at android.content.res.Resources.getDrawable(Resources.java:590)
at android.widget.ImageView.resolveUri(ImageView.java:564)
at android.widget.ImageView.setImageResource(ImageView.java:280)
at com.thankcreate.care.MainActivity.addTab(MainActivity.java:95)
at com.thankcreate.care.MainActivity.setTabs(MainActivity.java:78)
at com.thankcreate.care.MainActivity.onCreate(MainActivity.java:36)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
at android.app.ActivityThread.access$1500(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4277)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)