<EditText
                android:id="@+id/et_newLogin_phone"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/et_register_phone"
                android:inputType="number"
                android:maxLength="11"
                android:maxLines="1"
                />
求教大佬们,为什么就这么简单的EditText测试的时候出现了
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
java.lang.IndexOutOfBoundsException: setSpan (12 ... 12) ends beyond length 6
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1022)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:615)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:611)
at android.text.Selection.setSelection(Selection.java:123)
at android.text.Selection.setSelection(Selection.java:134)
at android.widget.EditText.setSelection(EditText.java:128)
at android.widget.EditText.performAccessibilityAction(EditText.java:174)
at android.view.AccessibilityInteractionController.perfromAccessibilityActionUiThread(AccessibilityInteractionController.java:626)
at android.view.AccessibilityInteractionController.access$500(AccessibilityInteractionController.java:53)
at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:1149)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6918)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

解决方案 »

  1.   

    你应该是写了大致如下的代码:
    EditText et_newLogin_phoneet_newLogin_phone = (EditText) findViewById(R.id.et_newLogin_phone);
    et_newLogin_phone.setSelection(12);
    java.lang.IndexOutOfBoundsException: setSpan (12 ... 12) ends beyond length 6这里报错是指你选择了EditText中的第12个数字,但是你现在只输入了6个数字,所以有length 6的提示并给了你数组越界的报错。另外你在XML中声明了android:maxLength="11"这个EditText最长为11个数字,所以你这里最多只能选到第11个数字,并且是在你输入了11个数字的情况下,否则依然数组越界的报错