android.text.Styled.drawDirectionalRun中的ClassCastException
||
我正在使用一个内部应用程序,该应用程序在时间轴上显示给定会议室的每日日程表。每分钟,我都会访问Web服务并获取一天中所有约会的信息,然后使用该数据来创建自定义的“时间轴块”视图,以显示会议时间,客户等。然后,我从时间轴中删除所有约会,并用新数据刷新它。我正在使用的自定义视图仅包含一个LinearLayout,其中包含3个TextViews。我想我应该注意,该活动的布局非常复杂,并且一些视图嵌套约7层。
一切正常运行约2-3天,然后该应用将崩溃。我这样做是为了使它每3秒访问一次Web服务,现在崩溃大约每2.5小时发生一次。让我明白的是,抛出的异常甚至没有指向我的代码中的任何内容。异常如下:
FATAL EXCEPTION: main
java.lang.ClassCastException: java.lang.String
at android.text.Styled.drawDirectionalRun(Styled.java:283)
at android.text.Styled.measureText(Styled.java:430)
at android.text.Layout.measureText(Layout.java:1655)
at android.text.Layout.getLineMax(Layout.java:689)
at android.text.Layout.getLineWidth(Layout.java:671)
at android.widget.TextView.desired(TextView.java:5037)
at android.widget.TextView.onMeasure(TextView.java:5083)
at android.view.View.measure(View.java:8171)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:578)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:362)
at android.view.View.measure(View.java:8171)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:578)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:362)
at android.view.View.measure(View.java:8171)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
at android.view.View.measure(View.java:8171)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
at android.view.View.measure(View.java:8171)
at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
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)
如果我不正确地转换了一个字符串(我很确定我不是),那么直到它深深地嵌入本机代码的情况下,如何才能捕获它?我在这里不知所措。这可能是内部的Android错误吗?
可能有帮助的另一件事:该应用程序再次崩溃时,它给出了相同的ClassCastException,但位置不同。它发生在BoringLayout.isBoring
函数中,这也是我的代码从未触及过的东西。
没有找到相关结果
已邀请:
2 个回复
坝硷操
耐钨徒