klinker24 / Android-TextView-LinkBuilder

Insanely easy way to define clickable links within a TextView.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dismiss DialogFragment by link click crashes the app

Festak opened this issue · comments

Kotlin. Device: Xiaomi. OS: 10.0
We have Fragment A, which opens Dialog Fragment. When the user clicks on the link in Dialog Fragment, we call dismiss(). And it throws an exception:

E/InputEventReceiver: Exception dispatching input event. E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback E/MessageQueue-JNI: kotlin.KotlinNullPointerException at com.klinker.android.link_builder.TouchableMovementMethod.onTouchEvent(TouchableMovementMethod.kt:78) at android.widget.TextView.onTouchEvent(TextView.java:10922) at android.view.View.dispatchTouchEvent(View.java:14000) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3088) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2781) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3088) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2781) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3088) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2781) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3088) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2781) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:496) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1853) at android.app.Dialog.dispatchTouchEvent(Dialog.java:863) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:454) at android.view.View.dispatchPointerEvent(View.java:14261) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5802) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5602) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5103) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5156) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5122) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5262) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5130) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5319) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5103) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5156) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5122) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5130) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5103) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7855) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7824) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7785) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7986) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:251) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:336) at android.os.Looper.loop(Looper.java:182) at android.app.ActivityThread.main(ActivityThread.java:7564) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)