2017-08-17 2 views
-2

私のカスタムでEditTextテキストがない場合は挿入されたテキストの最後にカーソルを置きますが、何らかの理由でIndexOutOfBoundsExceptionがスローされます。カスタムEditTextのsetSelectionは、IndexOutOfBoundsExceptionをスローします

​​

setSelection(text.length()); 

は例外をスロー。私は、この時点で考えたテキストがのEditTextで利用可能であるべきであるが、時にはことが

例外がないように思わ:

java.lang.IndexOutOfBoundsException:setSpan(2 ... 2 )android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.javaでandroid.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:683) でandroid.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1320) に長さ0 超えて終了:676)android.text.Selection.setSelection(Selection.java:76) (EditText.java:103) at com.thpeaklab.ibanedittext.IbanEditTextView $ 1.run(IbanEditTextView.java:87) ) android.os.Handler.handleCallback(Handler.java:751) (android.os.Handler.dispatchMessage(Handler.java:95) android.os.Looper.loop(Looper.java:154) android.app.ActivityThread.main(ActivityThread.java:6121) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java: 889) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) `

答えて

0

私はそれは選択のsetText()メソッドの内部で起こるべき

text = text.substring(0, start); 
mEditPass.setText(text); 
mEditPass.setSelection(start); 
+0

をうまくいくと思います。 – grumpyshoe