Android приложение падает GestureDetectorCompat
На некоторых телефонах приложение падает после события
val mDetector = GestureDetectorCompat(context, object : GestureDetector.OnGestureListener {
override fun onDown(e: MotionEvent): Boolean {
return false
}
override fun onShowPress(e: MotionEvent) {}
override fun onSingleTapUp(e: MotionEvent): Boolean {
try {
if (micl != null && orders != null && orders?.size != position) {
checkShowErrorButton()
viewHolder.consumer.smoothClose()
micl!!.onExpand(orders!![position].id)
}
} catch (e: Exception) {
}
return true
}
override fun onScroll(
e1: MotionEvent,
e2: MotionEvent,
distanceX: Float,
distanceY: Float
): Boolean {
return false
}
override fun onLongPress(e: MotionEvent) {}
override fun onFling(
e1: MotionEvent,
e2: MotionEvent,
velocityX: Float,
velocityY: Float
): Boolean {
return false
}
})
Где используется
viewHolder.rv_dots.setOnTouchListener { vvv, event ->
if (event != null && vvv != null)
mDetector.onTouchEvent(event)
false
}
Log
java.lang.IllegalArgumentException:
at com.app.peshkariki.Adapter.OrdersAdapter$onBindViewHolder$mDetector$1.onScroll (OrdersAdapter.java:2)
at android.view.GestureDetector.onTouchEvent (GestureDetector.java:625)
at androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplJellybeanMr2.onTouchEvent (GestureDetectorCompat.java:480)
at androidx.core.view.GestureDetectorCompat.onTouchEvent (GestureDetectorCompat.java:543)
at com.app.peshkariki.Adapter.OrdersAdapter$onBindViewHolder$3.onTouch (OrdersAdapter.java:282)
at android.view.View.dispatchTouchEvent (View.java:12523)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3026)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2705)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at com.billy.android.swipe.SmartSwipeWrapper.dispatchTouchEvent (SmartSwipeWrapper.java:70)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3054)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3054)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2719)
at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:444)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1835)
at android.app.Activity.dispatchTouchEvent (Activity.java:3465)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:402)
at android.view.View.dispatchPointerEvent (View.java:12768)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5287)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5087)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4602)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4655)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4621)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4761)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4629)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4818)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4602)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4655)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4621)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4629)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4602)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7330)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7299)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7260)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7436)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:247)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (InputEventReceiver.java)
at android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:212)
at android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:7404)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:7459)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1092)
at android.view.Choreographer.doCallbacks (Choreographer.java:888)
at android.view.Choreographer.doFrame (Choreographer.java:813)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1078)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6810)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)