material-components / material-components/material-components-android

[BottomSheetBehaviour] java.lang.IllegalArgumentException: invalid pointerIndex -1 for MotionEvent

Open
#4,982 2 comments 0 reactions 1 assignee View on GitHub

@hunterstich is already working on this.

Since Feb 18, 2026.

bug Widget: BottomSheet
Dominant language
Java
Stars
17.4k
Forks
3.2k
PR merge metrics
No merged PRs in 30d

Description

**Description:**
Crash with BottomSheetBehaviour

**Source code:**
```
Fatal Exception: java.lang.IllegalArgumentException: invalid pointerIndex -1 for MotionEvent { action=MOVE, id[0]=1, x[0]=469.25, y[0]=412.875, eventTime=296672642542000, downTime=296672618873000, deviceId=3, source=TOUCHSCREEN, displayId=0, eventId=0xca0b56ca}
at android.view.MotionEvent.nativeGetAxisValue(MotionEvent.java)
at android.view.MotionEvent.getX(MotionEvent.java:2807)
at androidx.customview.widget.ViewDragHelper.processTouchEvent(ViewDragHelper.java:1195)
at com.google.android.material.bottomsheet.BottomSheetBehavior.onTouchEvent(BottomSheetBehavior.java:692)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onTouchEvent(CoordinatorLayout.java:594)
at android.view.View.performOnTouchCallback(View.java:16662)
at android.view.View.dispatchTouchEvent(View.java:16573)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3192)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2852)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3220)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2866)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3198)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2866)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3198)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2866)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3198)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2866)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3198)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2866)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3198)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2866)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:542)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:2001)
at android.app.Activity.dispatchTouchEvent(Activity.java:4663)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:490)
at android.view.View.dispatchPointerEvent(View.java:16961)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8876)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:8549)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7936)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7998)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7959)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:8130)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7967)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:8187)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7940)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7998)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7959)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7967)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7940)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:11361)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:11308)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:11263)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11527)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:313)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:270)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:11468)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:11623)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1621)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1630)
at android.view.Choreographer.doCallbacks(Choreographer.java:1154)
at android.view.Choreographer.doFrame(Choreographer.java:1036)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1604)
at android.os.Handler.handleCallback(Handler.java:973)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:282)
at android.os.Looper.loop(Looper.java:387)
at android.app.ActivityThread.main(ActivityThread.java:9500)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
```

**Android API version:**
35

**Material Library version:**
1.12.0

**Device:**
Oppo Realme 12 Pro+ 5G

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.