sephiroth74/HorizontalVariableListView

StackoverflowError on Android 2

Opened this issue · 3 comments

Hi,

I'm using this library in a project. I'm not sure if this is a problem of yours.

We have a fragment with a listview and SwipeToRefreshLayout. Some items of this listview are HListView.

When I run this on Android 2 and I use swipe to refresh. New data is loaded in the main listview (notifyDataSetChanged) and then, when we scroll to a HListView item, the application crashes. This is the stacktrace from Android log:

   java.lang.StackOverflowError
          at android.graphics.Paint.measureText(Paint.java:1020)
          at android.graphics.Paint.measureText(Paint.java:1057)
          at android.text.Styled.drawDirectionalRun(Styled.java:284)
          at android.text.Styled.measureText(Styled.java:447)
          at android.text.Layout.measureText(Layout.java:1888)
          at android.text.Layout.getLineMax(Layout.java:841)
          at android.text.Layout.draw(Layout.java:386)
          at android.widget.TextView.onDraw(TextView.java:4311)
          at android.view.View.draw(View.java:6880)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.widget.FrameLayout.draw(FrameLayout.java:357)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at it.sephiroth.android.library.widget.HListView.drawChild(HListView.java:3339)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at it.sephiroth.android.library.widget.AbsHListView.dispatchDraw(AbsHListView.java:2123)
          at it.sephiroth.android.library.widget.HListView.dispatchDraw(HListView.java:3334)
          at android.view.View.draw(View.java:6883)
          at it.sephiroth.android.library.widget.AbsHListView.draw(AbsHListView.java:3444)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.buildDrawingCache(View.java:6640)
          at android.view.View.getDrawingCache(View.java:6428)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1571)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.widget.AbsListView.dispatchDraw(AbsListView.java:1654)
          at android.widget.ListView.dispatchDraw(ListView.java:3220)
          at android.view.View.draw(View.java:6883)
          at android.widget.AbsListView.draw(AbsListView.java:3032)
          at android.view.View.buildDrawingCache(View.java:6642)
          at android.view.View.getDrawingCache(View.java:6428)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1571)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1380)
          at android.view.View.draw(View.java:6883)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.widget.FrameLayout.draw(FrameLayout.java:357)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1060)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.widget.FrameLayout.draw(FrameLayout.java:357)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.support.v7.internal.widget.ActionBarOverlayLayout.draw(ActionBarOverlayLayout.java:509)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
          at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
          at android.view.View.draw(View.java:6883)
          at android.widget.FrameLayout.draw(FrameLayout.java:357)
          at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1921)
          at android.view.ViewRoot.draw(ViewRoot.java:1528)
          at android.view.ViewRoot.performTraversals(ViewRoot.java:1264)
          at android.view.ViewRoot.handleMessage(ViewRoot.java:1866)
          at android.os.Handler.dispatchMessage(Handler.java:99)
          at android.os.Looper.loop(Looper.java:130)
          at android.app.ActivityThread.main(ActivityThread.java:3687)
          at java.lang.reflect.Method.invokeNative(Method.java)
          at java.lang.reflect.Method.invoke(Method.java:507)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
          at dalvik.system.NativeStart.main(NativeStart.ja

Thanks in advance

saket commented

Offtopic, but why are you still targeting users on Android 2? :O

Masochism (customer requirement) :-)

I tested this with Samsung Galaxy Ace s5830 and Samsung Galaxy Mini both with Android 2.3.

saket commented

May the Gods look after you then :P