Ich habe einen Absturz beim Abwählen von Text in einem auswählbaren Android TextView festgestellt. Dies passiert, wenn ich TextView auswählbar mache und LinkMovementMethod festlege.IllegalArgumentException beim Auswählen von Text in Android TextView
IllegalArgumentException in TextView
scheint es ein Fehler innerhalb Android ist.
java.lang.IllegalArgumentException: Invalid offset: -1. Valid range is [0, 10562]
at android.text.method.WordIterator.checkOffsetIsValid(WordIterator.java:380)
at android.text.method.WordIterator.isBoundary(WordIterator.java:101)
at android.widget.Editor$SelectionStartHandleView.positionAtCursorOffset(Editor.java:4260)
at android.widget.Editor$HandleView.updatePosition(Editor.java:3708)
at android.widget.Editor$PositionListener.onPreDraw(Editor.java:2507)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2055)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Das hat mir gerade das Leben gerettet! Danke vielmals! – Arreis
Ich bin auch mit dem ähnlichen Problem konfrontiert, wo muss ich diese Methode behalten. – vijaypalod
hey @ mVJ. Sie müssen TextView wie mariotaku's Antwort unten erweitern. Betrachten Sie im Grunde seine Antwort, aber ersetzen Sie die DispatchTouchEvent-Methode in ihm. Das wäre eine neue Datei in Ihrem Projekt namens FixedTextView (oder wie auch immer Sie es heißen möchten) und Sie würden es anstelle des Standard-TextViews referenzieren. – TrevorSStone