Code Monkey home page Code Monkey logo

Comments (8)

neekers avatar neekers commented on June 1, 2024

I'm seeing something very similar. It doesn't happen every time, but I did notice that the viewpager was showing the correct view from onResume, but the indicator wasn't on the correct item, it was reset to the first index.

09-12 14:44:28.484 E/AndroidRuntime( 3678): FATAL EXCEPTION: main
09-12 14:44:28.484 E/AndroidRuntime( 3678): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
09-12 14:44:28.484 E/AndroidRuntime( 3678): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at java.util.ArrayList.get(ArrayList.java:311)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.AbsListView.obtainView(AbsListView.java:1430)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.ListView.onMeasure(ListView.java:1127)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:595)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.RelativeLayout.measureChild(RelativeLayout.java:566)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:381)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.View.measure(View.java:8313)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.os.Handler.dispatchMessage(Handler.java:99)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.os.Looper.loop(Looper.java:130)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at android.app.ActivityThread.main(ActivityThread.java:3683)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at java.lang.reflect.Method.invokeNative(Native Method)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at java.lang.reflect.Method.invoke(Method.java:507)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-12 14:44:28.484 E/AndroidRuntime( 3678): at dalvik.system.NativeStart.main(Native Method)

from viewpagerindicator.

JakeWharton avatar JakeWharton commented on June 1, 2024

@leowhiterussian: Are you using version 1.0 or a specific commit? Line 304 doesn't seem to line up with 1.0 nor the current dev branch. There is a lot of calls to ArrayList.get() in onDraw and I am trying to pin down exactly which one(s) are going bad.

@neekers: That stacktrace doesn't seem to be related to the library but rather having something to do with the header view on a ListView.

from viewpagerindicator.

leowhiterussian avatar leowhiterussian commented on June 1, 2024

@JakeWharton I believe I am using 1.0. Sorry I forgot that I added some of my own code, which changed the line numbers. It is happening in onDraw, whenever it tries to do bounds.get( ). For whatever reason it seems that GC clears the titles at some point, but the position is remember. So it tries to get the 5th position of a 1 length list. I have mitigated the crash by surrounding all the bounds.get( ) calls with try/catch . Was hoping for a better solution than that though.

from viewpagerindicator.

joeykrim avatar joeykrim commented on June 1, 2024

Not sure why this issue was closed as reading through the comments there doesn't seem to be a permanent solution only a temporary patch with try/catch clauses. Perhaps I've overlooked something? This might also be same as issue #24 - #24 ...
I'm also experiencing this issue, although right now the occurrence is not as common.

Stacktrace - Case #1:
java.lang.IndexOutOfBoundsException: Invalid index 9, size is 9
1 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
2 at java.util.ArrayList.get(ArrayList.java:304)
3 at com.viewpagerindicator.TitlePageIndicator.onDraw(TitlePageIndicator.java:319)

Stacktrace - Case #2:
java.lang.IndexOutOfBoundsException: Invalid index 10, size is 7
1 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
2 at java.util.ArrayList.get(ArrayList.java:311)
3 at com.viewpagerindicator.TitlePageIndicator.onDraw(TitlePageIndicator.java:319)

Line 319 from TitlePageIndicator.class:
RectF curPageBound = bounds.get(mCurrentPage);
Seems to be the same issue already mentioned in this thread, onResume triggers an incorrect value to be pulled when bounds.get method.

Is there a better way to fix this other than throw try/clause statements around it and silently drop the error?

from viewpagerindicator.

JakeWharton avatar JakeWharton commented on June 1, 2024

This issue was closed because it indeed was the same as #24 and a fix was added and released as 2.1.0.

from viewpagerindicator.

joeykrim avatar joeykrim commented on June 1, 2024

Thank you! This project is very very helpful!
Will update on my end.

from viewpagerindicator.

dinash avatar dinash commented on June 1, 2024

@JakeWharton : I still face this strange indexoutofbound exception with the latest version of 2.3.1. I am not sure what causes it. Also i have embedded the stacktrace of it below. Hoping for better response. Thanks.

07-31 15:32:10.242: W/System.err(6720): java.lang.IndexOutOfBoundsException: Invalid index 4, size is 1
07-31 15:32:10.247: W/System.err(6720): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
07-31 15:32:10.247: W/System.err(6720): at java.util.ArrayList.get(ArrayList.java:304)
07-31 15:32:10.247: W/System.err(6720): at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
07-31 15:32:10.247: W/System.err(6720): at android.widget.AbsListView.obtainView(AbsListView.java:2452)
07-31 15:32:10.247: W/System.err(6720): at android.widget.ListView.makeAndAddView(ListView.java:1775)
07-31 15:32:10.247: W/System.err(6720): at android.widget.ListView.fillDown(ListView.java:678)
07-31 15:32:10.247: W/System.err(6720): at android.widget.ListView.fillSpecific(ListView.java:1336)
07-31 15:32:10.247: W/System.err(6720): at android.widget.ListView.layoutChildren(ListView.java:1606)
07-31 15:32:10.247: W/System.err(6720): at android.widget.AbsListView.onLayout(AbsListView.java:2303)
07-31 15:32:10.247: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.247: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.247: W/System.err(6720): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
07-31 15:32:10.247: W/System.err(6720): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
07-31 15:32:10.247: W/System.err(6720): at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
07-31 15:32:10.247: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.247: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.247: W/System.err(6720): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-31 15:32:10.247: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.247: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.247: W/System.err(6720): at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1520)
07-31 15:32:10.247: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.247: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.247: W/System.err(6720): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
07-31 15:32:10.252: W/System.err(6720): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
07-31 15:32:10.252: W/System.err(6720): at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
07-31 15:32:10.252: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.252: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.252: W/System.err(6720): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-31 15:32:10.252: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.252: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.252: W/System.err(6720): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
07-31 15:32:10.252: W/System.err(6720): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
07-31 15:32:10.257: W/System.err(6720): at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
07-31 15:32:10.257: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.257: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.257: W/System.err(6720): at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
07-31 15:32:10.257: W/System.err(6720): at android.view.View.layout(View.java:14063)
07-31 15:32:10.257: W/System.err(6720): at android.view.ViewGroup.layout(ViewGroup.java:4655)
07-31 15:32:10.257: W/System.err(6720): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2017)
07-31 15:32:10.257: W/System.err(6720): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1838)
07-31 15:32:10.257: W/System.err(6720): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1131)
07-31 15:32:10.257: W/System.err(6720): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4611)
07-31 15:32:10.257: W/System.err(6720): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
07-31 15:32:10.257: W/System.err(6720): at android.view.Choreographer.doCallbacks(Choreographer.java:555)
07-31 15:32:10.257: W/System.err(6720): at android.view.Choreographer.doFrame(Choreographer.java:525)
07-31 15:32:10.257: W/System.err(6720): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
07-31 15:32:10.257: W/System.err(6720): at android.os.Handler.handleCallback(Handler.java:615)
07-31 15:32:10.257: W/System.err(6720): at android.os.Handler.dispatchMessage(Handler.java:92)
07-31 15:32:10.257: W/System.err(6720): at android.os.Looper.loop(Looper.java:137)
07-31 15:32:10.257: W/System.err(6720): at android.app.ActivityThread.main(ActivityThread.java:4898)
07-31 15:32:10.257: W/System.err(6720): at java.lang.reflect.Method.invokeNative(Native Method)
07-31 15:32:10.257: W/System.err(6720): at java.lang.reflect.Method.invoke(Method.java:511)
07-31 15:32:10.257: W/System.err(6720): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
07-31 15:32:10.257: W/System.err(6720): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
07-31 15:32:10.257: W/System.err(6720): at dalvik.system.NativeStart.main(Native Method)

from viewpagerindicator.

ruyonga avatar ruyonga commented on June 1, 2024

same issue

java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
1 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
2 at java.util.ArrayList.get(ArrayList.java:304)
3 at android.support.v4.view.ViewPager.getChildDrawingOrder(ViewPager.java:681)
4 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2893)
5 at android.view.View.draw(View.java:13843)
6 at android.support.v4.view.ViewPager.draw(ViewPager.java:2259)
7 at android.view.View.getDisplayList(View.java:12765)
8 at android.view.View.getDisplayList(View.java:12809)
9 at android.view.View.draw(View.java:13548)
10 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
11 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
12 at android.view.View.draw(View.java:13843)
13 at android.widget.FrameLayout.draw(FrameLayout.java:467)
14 at android.view.View.getDisplayList(View.java:12765)
15 at android.view.View.getDisplayList(View.java:12809)
16 at android.view.View.draw(View.java:13548)
17 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
18 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
19 at android.view.View.getDisplayList(View.java:12763)
20 at android.view.View.getDisplayList(View.java:12809)
21 at android.view.View.draw(View.java:13548)
22 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
23 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
24 at android.view.View.getDisplayList(View.java:12763)
25 at android.view.View.getDisplayList(View.java:12809)
26 at android.view.View.draw(View.java:13548)
27 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
28 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
29 at android.view.View.getDisplayList(View.java:12763)
30 at android.view.View.getDisplayList(View.java:12809)
31 at android.view.View.draw(View.java:13548)
32 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
33 at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1229)
34 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
35 at android.view.View.draw(View.java:13843)
36 at android.view.View.getDisplayList(View.java:12765)
37 at android.view.View.getDisplayList(View.java:12809)
38 at android.view.View.draw(View.java:13548)
39 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
40 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
41 at android.view.View.getDisplayList(View.java:12763)
42 at android.view.View.getDisplayList(View.java:12809)
43 at android.view.View.draw(View.java:13548)
44 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
45 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
46 at android.view.View.getDisplayList(View.java:12763)
47 at android.view.View.getDisplayList(View.java:12809)
48 at android.view.View.draw(View.java:13548)
49 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
50 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
51 at android.view.View.getDisplayList(View.java:12763)
52 at android.view.View.getDisplayList(View.java:12809)
53 at android.view.View.draw(View.java:13548)
54 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
55 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
56 at android.view.View.getDisplayList(View.java:12763)
57 at android.view.View.getDisplayList(View.java:12809)
58 at android.view.View.draw(View.java:13548)
59 at android.view.ViewGroup.drawChild(ViewGroup.java:3026)
60 at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2888)
61 at android.view.View.draw(View.java:13843)
62 at android.widget.FrameLayout.draw(FrameLayout.java:467)
63 at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2254)
64 at android.view.View.getDisplayList(View.java:12765)
65 at android.view.View.getDisplayList(View.java:12809)
66 at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1249)
67 at android.view.ViewRootImpl.draw(ViewRootImpl.java:2513)
68 at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2380)
69 at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2182)
70 at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1165)
71 at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4962)
72 at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
73 at android.view.Choreographer.doCallbacks(Choreographer.java:579)
74 at android.view.Choreographer.doFrame(Choreographer.java:548)
75 at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
76 at android.os.Handler.handleCallback(Handler.java:800)
77 at android.os.Handler.dispatchMessage(Handler.java:100)
78 at android.os.Looper.loop(Looper.java:194)
79 at android.app.ActivityThread.main(ActivityThread.java:5455)
80 at java.lang.reflect.Method.invokeNative(Native Method)
81 at java.lang.reflect.Method.invoke(Method.java:525)
82 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966)
83 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:733)
84 at dalvik.system.NativeStart.main(Native Method)

from viewpagerindicator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.