I am returning encrypted value from getText() With CharSequence for EditText View.
But occurring IllegalArgumentException: Invalid offset: -1. Valid range is [0, 49] Exception
If I set InputType as a number from XML it's working. Like-
<com.shubham.nbsdk.SecureEditText
android:id="@+id/xpay_encrypt_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Text to Encrypt"
android:inputType="number"/>
But having issue with android:inputType="text"
@Nullable
@Override
public Editable getText() {
CharSequence encryptedText =
secureSDKImpl_inner.EncryptText(PlainText.toString());
return new Editable.Factory().newEditable(encryptedText);
}
Log
java.lang.IllegalArgumentException: Invalid offset: -1. Valid range is [0, 49]
at android.text.method.WordIterator.checkOffsetIsValid(WordIterator.java:384)
at android.text.method.WordIterator.preceding(WordIterator.java:72)
at android.widget.SpellChecker$SpellParser.parse(SpellChecker.java:592)
at android.widget.SpellChecker$SpellParser.parse(SpellChecker.java:517)
at android.widget.SpellChecker.spellCheck(SpellChecker.java:257)
at android.widget.Editor.updateSpellCheckSpans(Editor.java:702)
at android.widget.Editor.sendOnTextChanged(Editor.java:1248)
at android.widget.TextView.sendOnTextChanged(TextView.java:9407)
at android.widget.TextView.handleTextChanged(TextView.java:9490)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:11948)
at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1258)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:573)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:504)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:502)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:843)
at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:616)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:396)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:85)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6694)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
I think I am doing something wrong with this
return new Editable.Factory().newEditable(encryptedText);
Any other option to convert CharSequence into Editable