错误原因 GestureDetector.OnGestureListener 覆写崩溃问题
它没有说什么时候任何 MotionEvent 参数为 null:
e1 MotionEvent:开始投掷的第一个向下运动事件。
e2 MotionEvent:触发当前onFling的移动动作事件。
我无法重现这一点,但我注意到 Crashlytics(在 Android 11 上的“realme GT Master Edition”上发现)发生崩溃,因为它被转换为 Kotlin 并被认为是不可为空的。崩溃是因为“e1”参数:
致命异常:java.lang.NullPointerException:指定为非空的参数为空:方法 kotlin.jvm.internal.Intrinsics.checkNotNullParameter,参数 e1
解决:
这是谷歌的一个已知问题
即使 e1 被定义为不可为 null,Android API 仍然会为它生成一个 null 值。
将 compileSDK 版本升级到 33 后,无法成功构建项目('onFling' 不覆盖任何内容)
解决此问题的一种方法是添加 @Suppress("NOTHING_TO_OVERRIDE", "ACCIDENTAL_OVERRIDE") e1 并将其设置为可为空
overridefunonFling( e1:MotionEvent?,... )
如前所述,这是一个已知问题,应该在将来修复。








网友评论