Closed binarybucks closed 11 years ago
Trying a fix where the pager item count is managed internally instead of relying on the global room count. The room count is now only read initially when instantiating a new pager. After that the internal value is incremented or decremented by the RoomAdded or RoomRemoved events.
The cause was probably that the global room count changed faster than the events triggered the RoomAdded or RoomRemoved events, so that the room count change was > 1 between two notifyDatasetChanged calls in the events.
Me too have the same problem. And posted in stackoverflow blog. http://stackoverflow.com/questions/26354497/illegastateexception-in-horizontalscrollview-while-scrolling . Could you help on this?
Don't know where that one suddenly comes from. Haven't touched it since it worked last time so probably caused by some bug in the code ignored by previous version of the support lib which was updated with ADT v. 22
06-06 21:46:49.501: E/AndroidRuntime(8213): FATAL EXCEPTION: main 06-06 21:46:49.501: E/AndroidRuntime(8213): java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 0, found: 2 Pager id: st.alr.homA:id/pager Pager class: class android.support.v4.view.ViewPager Problematic adapter: class st.alr.homA.MainActivity$RoomPagerAdapter 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.support.v4.view.ViewPager.populate(ViewPager.java:959) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.support.v4.view.ViewPager.populate(ViewPager.java:911) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1432) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.View.measure(View.java:15518) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.View.measure(View.java:15518) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.View.measure(View.java:15518) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.View.measure(View.java:15518) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.LinearLayout.measureVertical(LinearLayout.java:847) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.View.measure(View.java:15518) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 06-06 21:46:49.501: E/AndroidRuntime(8213): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.View.measure(View.java:15518) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.Choreographer.doFrame(Choreographer.java:532) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.os.Handler.handleCallback(Handler.java:725) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.os.Handler.dispatchMessage(Handler.java:92) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.os.Looper.loop(Looper.java:137) 06-06 21:46:49.501: E/AndroidRuntime(8213): at android.app.ActivityThread.main(ActivityThread.java:5041) 06-06 21:46:49.501: E/AndroidRuntime(8213): at java.lang.reflect.Method.invokeNative(Native Method) 06-06 21:46:49.501: E/AndroidRuntime(8213): at java.lang.reflect.Method.invoke(Method.java:511) 06-06 21:46:49.501: E/AndroidRuntime(8213): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 06-06 21:46:49.501: E/AndroidRuntime(8213): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 06-06 21:46:49.501: E/AndroidRuntime(8213): at dalvik.system.NativeStart.main(Native Method)