When an item is removed from the backing dataset and adapter is notified via notifyItemRemoved method, demo app crashes with NullPointerException.
Add method to DataAdapter and call it within MainActivity
fun removeData() {
// remove last item for test purposes
val orgListSize = list.size
this.list = this.list.subList(0, orgListSize - 1).toList()
notifyItemRemoved(orgListSize - 1)
}
App crashes with the following exception log
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.jackandphantom.carousellayout, PID: 28559
java.lang.NullPointerException
at com.jackandphantom.carouselrecyclerview.CarouselLayoutManager.getChildActualPos(CarouselLayoutManager.kt:468)
at com.jackandphantom.carouselrecyclerview.CarouselRecyclerview.getChildDrawingOrder(CarouselRecyclerview.kt:106)
at android.view.ViewGroup.getAndVerifyPreorderedIndex(ViewGroup.java:2134)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4351)
at android.view.View.draw(View.java:22670)
at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4429)
at android.view.View.updateDisplayListIfDirty(View.java:21491)
at android.view.View.draw(View.java:22377)
at android.view.ViewGroup.drawChild(ViewGroup.java:4595)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4354)
at android.view.View.updateDisplayListIfDirty(View.java:21482)
at android.view.View.draw(View.java:22377)
at android.view.ViewGroup.drawChild(ViewGroup.java:4595)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4354)
at android.view.View.updateDisplayListIfDirty(View.java:21482)
at android.view.View.draw(View.java:22377)
at android.view.ViewGroup.drawChild(ViewGroup.java:4595)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4354)
at android.view.View.updateDisplayListIfDirty(View.java:21482)
at android.view.View.draw(View.java:22377)
at android.view.ViewGroup.drawChild(ViewGroup.java:4595)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4354)
at android.view.View.updateDisplayListIfDirty(View.java:21482)
at android.view.View.draw(View.java:22377)
at android.view.ViewGroup.drawChild(ViewGroup.java:4595)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4354)
at android.view.View.updateDisplayListIfDirty(View.java:21482)
at android.view.View.draw(View.java:22377)
at android.view.ViewGroup.drawChild(ViewGroup.java:4595)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4354)
at android.view.View.draw(View.java:22670)
at com.android.internal.policy.DecorView.draw(DecorView.java:826)
at android.view.View.updateDisplayListIfDirty(View.java:21491)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:559)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:565)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:642)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:4372)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4077)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3335)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2135)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8636)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1035)
at android.view.Choreographer.doCallbacks(Choreographer.java:858)
at android.view.Choreographer.doFrame(Choreographer.java:789)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1020)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8045)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)
When an item is removed from the backing dataset and adapter is notified via
notifyItemRemoved
method, demo app crashes with NullPointerException.Add method to
DataAdapter
and call it withinMainActivity
App crashes with the following exception log