h6ah4i / android-advancedrecyclerview

RecyclerView extension library which provides advanced features. (ex. Google's Inbox app like swiping, Play Music app like drag and drop sorting)
https://advancedrecyclerview.h6ah4i.com/
Apache License 2.0
5.32k stars 862 forks source link

ClassCastException bug #3

Closed h6ah4i closed 9 years ago

h6ah4i commented 9 years ago

[Feb. 2, 2015] I've got a crash report on Developer Console.

java.lang.ClassCastException: com.h6ah4i.android.example.advrecyclerview.demo_eds.MyExpandableDraggableSwipeableItemAdapter$MyChildViewHolder cannot be cast to com.h6ah4i.android.example.advrecyclerview.demo_eds.MyExpandableDraggableSwipeableItemAdapter$MyGroupViewHolder
at com.h6ah4i.android.example.advrecyclerview.demo_eds.MyExpandableDraggableSwipeableItemAdapter.onSetGroupItemSwipeBackground(MyExpandableDraggableSwipeableItemAdapter.java:38)
at com.h6ah4i.android.widget.advrecyclerview.expandable.ExpandableRecyclerViewWrapperAdapter.onSetSwipeBackground(ExpandableRecyclerViewWrapperAdapter.java:373)
at com.h6ah4i.android.widget.advrecyclerview.swipeable.SwipeableItemWrapperAdapter.setSwipeBackgroundDrawable(SwipeableItemWrapperAdapter.java:200)
at com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager.applySlideItem(RecyclerViewSwipeManager.java:525)
at com.h6ah4i.android.widget.advrecyclerview.swipeable.SwipeableItemWrapperAdapter.onBindViewHolder(SwipeableItemWrapperAdapter.java:129)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:4138)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3448)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3340)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1810)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1306)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1269)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1097)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:957)
at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:985)
at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:954)
at com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager.scrollByYAndGetScrolledAmount(RecyclerViewDragDropManager.java:603)
at com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager.handleScrollOnDragging(RecyclerViewDragDropManager.java:570)
at com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager$ScrollOnDraggingProcessRunnable.run(RecyclerViewDragDropManager.java:827)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:549)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
h6ah4i commented 9 years ago

[Mar. 6, 2015] I've got the same crash report again.

Application version: 0.6.2 Android version: Android 5.0 Device: Nexus 5 (hammerhead) User message: While dragging.

java.lang.ClassCastException: com.h6ah4i.android.example.advrecyclerview.demo_eds.MyExpandableDraggableSwipeableItemAdapter$MyGroupViewHolder cannot be cast to com.h6ah4i.android.example.advrecyclerview.demo_eds.MyExpandableDraggableSwipeableItemAdapter$MyChildViewHolder
at com.h6ah4i.android.example.advrecyclerview.demo_eds.MyExpandableDraggableSwipeableItemAdapter.onSetChildItemSwipeBackground(MyExpandableDraggableSwipeableItemAdapter.java:40)
at com.h6ah4i.android.widget.advrecyclerview.expandable.ExpandableRecyclerViewWrapperAdapter.onSetSwipeBackground(ExpandableRecyclerViewWrapperAdapter.java:473)
at com.h6ah4i.android.widget.advrecyclerview.swipeable.SwipeableItemWrapperAdapter.setSwipeBackgroundDrawable(SwipeableItemWrapperAdapter.java:194)
at com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager.applySlideItem(RecyclerViewSwipeManager.java:740)
at com.h6ah4i.android.widget.advrecyclerview.swipeable.SwipeableItemWrapperAdapter.onBindViewHolder(SwipeableItemWrapperAdapter.java:119)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:4138)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3448)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3340)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1810)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1306)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1269)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1097)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:957)
at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:985)
at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:954)
at com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager.scrollByYAndGetScrolledAmount(RecyclerViewDragDropManager.java:824)
at com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager.handleScrollOnDragging(RecyclerViewDragDropManager.java:771)
at com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager$ScrollOnDraggingProcessRunnable.run(RecyclerViewDragDropManager.java:1098)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:549)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
h6ah4i commented 9 years ago

@h6ah4i Remind: This issue can be easily reprodeced when manipulating the Expabdable + Swipeable + Draggable example.

h6ah4i commented 9 years ago

Fixed in v0.7.0.