java.lang.NullPointerException: 尝试调用虚拟方法 'void android.widget.Editor$SelectionModifierCursorController.show()'
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.show()'
我在 Crashlytics 上有一个异常,它没有在堆栈跟踪中显示我的任何代码,我如何找出导致它的原因?似乎只发生在 Android 5.0 和 5.0.1 上。我正在使用支持库 23.4.
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.show()' on a null object reference
at android.widget.Editor$SelectionActionModeCallback.onCreateActionMode(Editor.java:3023)
at com.android.internal.policy.impl.PhoneWindow$DecorView$ActionModeCallbackWrapper.onCreateActionMode(PhoneWindow.java:3163)
at android.support.v7.view.SupportActionModeWrapper$CallbackWrapper.onCreateActionMode(SupportActionModeWrapper.java:155)
at android.support.v7.app.AppCompatDelegateImplV7$ActionModeCallbackWrapperV7.onCreateActionMode(AppCompatDelegateImplV7.java:1742)
at android.support.v7.app.AppCompatDelegateImplV7.startSupportActionModeFromWindow(AppCompatDelegateImplV7.java:802)
at android.support.v7.app.AppCompatDelegateImplV7.startSupportActionMode(AppCompatDelegateImplV7.java:696)
at android.support.v7.app.AppCompatDelegateImplV14$AppCompatWindowCallbackV14.startAsSupportActionMode(AppCompatDelegateImplV14.java:187)
at android.support.v7.app.AppCompatDelegateImplV14$AppCompatWindowCallbackV14.onWindowStartingActionMode(AppCompatDelegateImplV14.java:171)
at android.support.v7.view.WindowCallbackWrapper.onWindowStartingActionMode(WindowCallbackWrapper.java:145)
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2644)
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2631)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.View.startActionMode(View.java:4857)
at android.widget.Editor.startSelectionActionMode(Editor.java:1626)
at android.widget.Editor.performLongClick(Editor.java:914)
at android.widget.TextView.performLongClick(TextView.java:8900)
at android.view.View$CheckForLongPress.run(View.java:19735)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5253)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
EDIT1:报告崩溃的用户想出了如何重现它。当他使用我的 AppCompatAutoCompleteTextView
到 select 所有文本并将其复制到剪贴板时,就会发生这种情况。它只发生在 Android 5.0 和 5.0.1
EDIT2:我认为它不仅发生在 Android 5 上,而且堆栈跟踪看起来非常不同,以至于 Crashlytics 没有将它分组。根据我发现的一些帖子,我认为它与 Contextual Actionbar 高度或它如何计算它有关,但我还没有找到明确的答案。
我有一个 AppCompatAutoCompleteTextView
可以在聚焦时改变大小。事实证明,当它处于折叠大小时,用户长按它,当 onFocusChange
事件触发时,整个事情都会改变,它会崩溃。
您可以通过在 onFocusChange
中调用 setText("test");
并在三星 s8 上长按 EditText
来重现(我不确定其他设备)。
作为解决方案,您可以尝试摆脱设置文本或其他导致 onFocusChange 中的文本重新排列或使用处理程序延迟它的操作。
我在 Crashlytics 上有一个异常,它没有在堆栈跟踪中显示我的任何代码,我如何找出导致它的原因?似乎只发生在 Android 5.0 和 5.0.1 上。我正在使用支持库 23.4.
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Editor$SelectionModifierCursorController.show()' on a null object reference
at android.widget.Editor$SelectionActionModeCallback.onCreateActionMode(Editor.java:3023)
at com.android.internal.policy.impl.PhoneWindow$DecorView$ActionModeCallbackWrapper.onCreateActionMode(PhoneWindow.java:3163)
at android.support.v7.view.SupportActionModeWrapper$CallbackWrapper.onCreateActionMode(SupportActionModeWrapper.java:155)
at android.support.v7.app.AppCompatDelegateImplV7$ActionModeCallbackWrapperV7.onCreateActionMode(AppCompatDelegateImplV7.java:1742)
at android.support.v7.app.AppCompatDelegateImplV7.startSupportActionModeFromWindow(AppCompatDelegateImplV7.java:802)
at android.support.v7.app.AppCompatDelegateImplV7.startSupportActionMode(AppCompatDelegateImplV7.java:696)
at android.support.v7.app.AppCompatDelegateImplV14$AppCompatWindowCallbackV14.startAsSupportActionMode(AppCompatDelegateImplV14.java:187)
at android.support.v7.app.AppCompatDelegateImplV14$AppCompatWindowCallbackV14.onWindowStartingActionMode(AppCompatDelegateImplV14.java:171)
at android.support.v7.view.WindowCallbackWrapper.onWindowStartingActionMode(WindowCallbackWrapper.java:145)
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2644)
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2631)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:694)
at android.view.View.startActionMode(View.java:4857)
at android.widget.Editor.startSelectionActionMode(Editor.java:1626)
at android.widget.Editor.performLongClick(Editor.java:914)
at android.widget.TextView.performLongClick(TextView.java:8900)
at android.view.View$CheckForLongPress.run(View.java:19735)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5253)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
EDIT1:报告崩溃的用户想出了如何重现它。当他使用我的 AppCompatAutoCompleteTextView
到 select 所有文本并将其复制到剪贴板时,就会发生这种情况。它只发生在 Android 5.0 和 5.0.1
EDIT2:我认为它不仅发生在 Android 5 上,而且堆栈跟踪看起来非常不同,以至于 Crashlytics 没有将它分组。根据我发现的一些帖子,我认为它与 Contextual Actionbar 高度或它如何计算它有关,但我还没有找到明确的答案。
我有一个 AppCompatAutoCompleteTextView
可以在聚焦时改变大小。事实证明,当它处于折叠大小时,用户长按它,当 onFocusChange
事件触发时,整个事情都会改变,它会崩溃。
您可以通过在 onFocusChange
中调用 setText("test");
并在三星 s8 上长按 EditText
来重现(我不确定其他设备)。
作为解决方案,您可以尝试摆脱设置文本或其他导致 onFocusChange 中的文本重新排列或使用处理程序延迟它的操作。