Tôi nhận được báo cáo lỗi trong Crashlytics cho NPEs trong SpannableStringInternal nhưng không thể tái tạo sự cố trên bất kỳ điện thoại nào hoặc xác định nguồn gốc của nó. Tôi đang gọi Internet để giúp tôi xác định vấn đề cơ bản.android.widget.Editor: NullPointerException trong SpannableStringInternal
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
at android.text.SpannableStringInternal.hashCode(SpannableStringInternal.java:480)
at android.text.SpannedString.hashCode(SpannedString.java)
at java.util.Objects.hashCode(Objects.java:98)
at android.view.inputmethod.CursorAnchorInfo.<init>(CursorAnchorInfo.java:435)
at android.view.inputmethod.CursorAnchorInfo.<init>(CursorAnchorInfo.java)
at android.view.inputmethod.CursorAnchorInfo$Builder.build(CursorAnchorInfo.java:391)
at android.widget.Editor$CursorAnchorInfoNotifier.updatePosition(Editor.java:4390)
at android.widget.Editor$PositionListener.onPreDraw(Editor.java:3250)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1013)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2492)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1509)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7051)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:702)
at android.view.Choreographer.doFrame(Choreographer.java:638)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6692)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Từ nguồn có vẻ như bằng cách nào đó con trỏ/lựa chọn đang gây ra khoảng trống được đặt.
Các lỗi chỉ xảy ra trên Android 7:
Tôi đoán chúng tôi sẽ không giúp đỡ rất nhiều nếu bạn không cung cấp cho chúng tôi một số mã ví dụ. – Al0x
@ Al0x Tôi có thể đăng toàn bộ mã ứng dụng ở đây và cả bạn và tôi sẽ không khôn ngoan hơn. Ứng dụng chứa hơn 50 'EditText' với hành vi khác nhau. Tôi không có ý tưởng khi nào và nơi xảy ra sự cố, do đó không thể đăng bất kỳ mã liên quan nào. – Mannaz
Đây là một điều khó khăn. Tôi thấy trong 'Build' cho' CursorAnchorInfo' rằng nó không phải là chủ đề an toàn. (Xem [tại đây] (https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/view/inputmethod/CursorAnchorInfo.java#L255)). Bạn có đang điều khiển nhịp trên các luồng không? – Cheticamp