【问题标题】:Android List View force close error on scrolling the listviewAndroid列表视图在滚动列表视图时强制关闭错误
【发布时间】:2012-03-08 14:53:01
【问题描述】:

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

下面我粘贴错误:-

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

【问题讨论】:

    标签: android listview forceclose


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        这让我发疯了。我的解决方案是尽可能减少层深度。可以在没有其他布局的情况下将 RelativeLayout 与视图一起使用。乍一看,这似乎不是一个解决方案,但对我来说不是。

        【讨论】:

          猜你喜欢
          • 2015-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-21
          • 2013-08-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多