Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.hide()' on a null object reference

余生长醉 提交于 2019-12-23 08:58:18

问题


This error seems to be happening only on Samsung phones using Android 6.0.1. or 7.0:

Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.hide()' on a null object reference
	
android.widget.Editor.performLongClick (Editor.java:1139)
	
android.widget.TextView.performLongClick (TextView.java:10945)
	
android.view.View$CheckForLongPress.run (View.java:22568)
	
android.os.Handler.handleCallback (Handler.java:739)
	
android.os.Handler.dispatchMessage (Handler.java:95)
	
android.os.Looper.loop (Looper.java:148)
	
android.app.ActivityThread.main (ActivityThread.java:7325)
	
java.lang.reflect.Method.invoke (Method.java)
	
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
	
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)

Looking for a way to prevent it. =)

It seems it's a known issue, but with small priority:

Issue 228485: SelectionModifierCursorController.hide()' on a null object reference


回答1:


For me easiest solution was to override this methods in EditText. Hope Samsung will fix it one day.

override fun performLongClick(): Boolean {
    try {
        return super.performLongClick()
    } catch (e: NullPointerException) {
        return true
    }
}

override fun performLongClick(x: Float, y: Float): Boolean {
    try {
        return super.performLongClick(x, y)
    } catch (e: NullPointerException) {
        return true
    }
}


来源:https://stackoverflow.com/questions/41687484/attempt-to-invoke-virtual-method-void-android-widget-editorselectionmodifiercu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!