滚动列表视图时,Android列表视图强制关闭错误

时间:2012-03-08 14:53:02

标签: android listview forceclose

我有一个带有图像和文本的列表视图,我使用高效适配器(自定义适配器)来填充列表视图。我在列表视图中实现了分页。我正在Android 2.1中开发应用程序。当我在Android 2.1手机中运行应用程序时,它工作正常。但是当在更高版本(Android 2.2及更高版本)上运行时,滚动listview它显示“强制关闭错误”

Bellow我正在粘贴错误: -

03-08 20:10:50.546: E/AndroidRuntime(367): FATAL EXCEPTION: main
03-08 20:10:50.546: E/AndroidRuntime(367): java.lang.StackOverflowError
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.SpannableStringInternal.getSpans(SpannableStringInternal.java:269)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.Styled.drawUniformRun(Styled.java:61)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.Styled.drawDirectionalRun(Styled.java:298)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.Styled.drawText(Styled.java:357)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.Layout.drawText(Layout.java:1387)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.Layout.draw(Layout.java:370)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.text.BoringLayout.draw(BoringLayout.java:365)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.TextView.onDraw(TextView.java:4050)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6740)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.buildDrawingCache(View.java:6500)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.getDrawingCache(View.java:6288)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1565)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.AbsListView.dispatchDraw(AbsListView.java:1365)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.ListView.dispatchDraw(ListView.java:3046)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6846)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.AbsListView.draw(AbsListView.java:2257)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.FrameLayout.draw(FrameLayout.java:352)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.FrameLayout.draw(FrameLayout.java:352)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.FrameLayout.draw(FrameLayout.java:352)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.View.draw(View.java:6743)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.widget.FrameLayout.draw(FrameLayout.java:352)
03-08 20:10:50.546: E/AndroidRuntime(367):  at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1842)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewRoot.draw(ViewRoot.java:1407)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1163)
03-08 20:10:50.546: E/AndroidRuntime(367):  at android.view.ViewRoot.handleMessage(ViewRoot.ja

3 个答案:

答案 0 :(得分:0)

由于你还没有发布任何代码,我最好的猜测是你有一个永远不会终止的无限循环或递归调用。

答案 1 :(得分:0)

您尚未发布任何代码,因此很难确定。但是,如果您在列表项视图的.append()上使用TextView方法,这似乎是一个相当常见的问题。如果是这种情况,解决方案似乎是在变量中创建完整的文本字符串,而是使用.setText()方法。

答案 2 :(得分:0)

这让我发疯了。我的解决方案是尽可能减少层深度。在哪里可以使用RelativeLayout和没有其他布局的视图。乍一看,这似乎不是一个解决方案,但对我而言则更少。