Hi,

I have an EditText with linkifycation on.

But if the content contains a link and I tap on it or move the cursor
in it, I get an IndexOutOfBoundsException.

Stacktrace below.

I think the problem is the getCapsMode method of TextUtils. They don't
check if the offset is below 0. So it crashes if there is no
selection.


E/AndroidRuntime( 2853): Uncaught handler: thread main exiting due to
uncaught exception
E/AndroidRuntime( 2853): java.lang.IndexOutOfBoundsException: charAt:
-2 < 0
E/AndroidRuntime( 2853):        at
android.text.SpannableStringBuilder.charAt(SpannableStringBuilder.java:
110)
E/AndroidRuntime( 2853):        at android.text.TextUtils.getCapsMode
(TextUtils.java:1562)
E/AndroidRuntime( 2853):        at
android.view.inputmethod.BaseInputConnection.getCursorCapsMode
(BaseInputConnection.java:273)
E/AndroidRuntime( 2853):        at
android.widget.TextView.onCreateInputConnection(TextView.java:4346)
E/AndroidRuntime( 2853):        at
android.view.inputmethod.InputMethodManager.startInputInner
(InputMethodManager.java:933)
E/AndroidRuntime( 2853):        at
android.view.inputmethod.InputMethodManager.checkFocus
(InputMethodManager.java:1105)
E/AndroidRuntime( 2853):        at
android.view.inputmethod.InputMethodManager.isActive
(InputMethodManager.java:530)
E/AndroidRuntime( 2853):        at android.widget.TextView.onDraw
(TextView.java:3880)
E/AndroidRuntime( 2853):        at android.view.View.draw(View.java:
5838)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.drawChild
(ViewGroup.java:1486)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.dispatchDraw
(ViewGroup.java:1228)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.drawChild
(ViewGroup.java:1484)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.dispatchDraw
(ViewGroup.java:1228)
E/AndroidRuntime( 2853):        at android.view.View.draw(View.java:
5841)
E/AndroidRuntime( 2853):        at android.widget.FrameLayout.draw
(FrameLayout.java:352)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.drawChild
(ViewGroup.java:1486)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.dispatchDraw
(ViewGroup.java:1228)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.drawChild
(ViewGroup.java:1484)
E/AndroidRuntime( 2853):        at android.view.ViewGroup.dispatchDraw
(ViewGroup.java:1228)
E/AndroidRuntime( 2853):        at android.view.View.draw(View.java:
5841)
E/AndroidRuntime( 2853):        at android.widget.FrameLayout.draw
(FrameLayout.java:352)
E/AndroidRuntime( 2853):        at
com.android.internal.policy.impl.PhoneWindow$DecorView.draw
(PhoneWindow.java:1847)
E/AndroidRuntime( 2853):        at android.view.ViewRoot.draw
(ViewRoot.java:1217)
E/AndroidRuntime( 2853):        at
android.view.ViewRoot.performTraversals(ViewRoot.java:1030)
E/AndroidRuntime( 2853):        at android.view.ViewRoot.handleMessage
(ViewRoot.java:1482)
E/AndroidRuntime( 2853):        at android.os.Handler.dispatchMessage
(Handler.java:99)
E/AndroidRuntime( 2853):        at android.os.Looper.loop(Looper.java:
123)
E/AndroidRuntime( 2853):        at android.app.ActivityThread.main
(ActivityThread.java:3948)
E/AndroidRuntime( 2853):        at
java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2853):        at java.lang.reflect.Method.invoke
(Method.java:521)
E/AndroidRuntime( 2853):        at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:782)
E/AndroidRuntime( 2853):        at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
E/AndroidRuntime( 2853):        at dalvik.system.NativeStart.main
(Native Method)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to