[안드로이드] Fatal Exception: java.lang.IndexOutOfBoundsException: setSpan (4 … 4) ends beyond length 3
EditText에서 발생한 오류인데 오류가 발생한 휴대폰 정보를 확인해 보니 휴대폰 중에 운영체제가 안드로이드6를 사용하는 폰에서 발생하였다.
Fatal Exception: java.lang.IndexOutOfBoundsException: setSpan (4 … 4) ends beyond length 3
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1090)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:665)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:658)
at android.text.Selection.setSelection(Selection.java:76)
at android.text.Selection.setSelection(Selection.java:87)
at android.widget.EditText.setSelection(EditText.java:98)
at android.widget.EditText.performAccessibilityActionInternal(EditText.java:138)
at android.view.View.performAccessibilityAction(View.java:8889)
at android.view.AccessibilityInteractionController.performAccessibilityActionUiThread(AccessibilityInteractionController.java:668)
at android.view.AccessibilityInteractionController.-wrap6(AccessibilityInteractionController.java)
at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:1194)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5421)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
[오류가 발생한 xml]
<EditText
android:id=”@+id/edit_text”
android:layout_width=”50dp”
android:layout_height=”wrap_content”
android:layout_marginLeft=”10dp”
android:maxLength=”3″
android:layout_weight=”1″
android:ems=”3″
android:inputType=”number”
android:maxLines=”1″
android:textSize=”13sp” />
[해결방법] 해결방법은 찾는 중이다.
해당 폰이 없어서 테스트를 못해 직감으로 때려 맞춰서 테스트 중이다.
<EditText
android:id=”@+id/edit_text”
android:layout_width=”50dp”
android:layout_height=”wrap_content”
android:layout_marginLeft=”10dp”
android:maxLength=”3″
android:layout_weight=”1″
android:ems=”4″
android:inputType=”number”
android:maxLines=”1″
android:textSize=”13sp” />
ems 값을 4로 설정하였다. 마켓에 등록하였으며, 오류보고를 기다려본다.