Masked-Edittext icon indicating copy to clipboard operation
Masked-Edittext copied to clipboard

Crash when entering the wrong character

Open Sherzodbek-Muhammadiev opened this issue 3 years ago • 1 comments

    <com.github.pinball83.maskededittext.MaskedEditText
        android:id="@+id/inputNumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:digits="1234567890"
        android:imeOptions="actionDone"
        android:inputType="phone"
        android:maxLines="1"
        app:allowed_chars="0123456789"
        app:mask="+998 ** *** ** **"
        app:notMaskedSymbol="*" />
java.lang.StringIndexOutOfBoundsException: length=19; index=27
        at java.lang.String.charAt(Native Method)
        at com.github.pinball83.maskededittext.MaskedEditText$MaskedInputFilter.filter(MaskedEditText.java:404)
        at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:516)
        at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:229)
        at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:36)
        at android.text.method.BaseKeyListener.backspaceOrForwardDelete(BaseKeyListener.java:370)
        at android.text.method.BaseKeyListener.backspace(BaseKeyListener.java:71)
        at android.text.method.BaseKeyListener.onKeyDown(BaseKeyListener.java:479)
        at android.text.method.NumberKeyListener.onKeyDown(NumberKeyListener.java:148)
        at android.widget.TextView.doKeyDown(TextView.java:8700)
        at android.widget.TextView.onKeyDown(TextView.java:8470)
        at android.view.KeyEvent.dispatch(KeyEvent.java:3350)
        at android.view.View.dispatchKeyEvent(View.java:13304)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at androidx.core.widget.NestedScrollView.dispatchKeyEvent(NestedScrollView.java:622)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1912)
        at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:686)
        at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1869)
        at android.app.Dialog.dispatchKeyEvent(Dialog.java:968)
        at androidx.appcompat.app.AppCompatDialog.superDispatchKeyEvent(AppCompatDialog.java:208)
        at androidx.appcompat.app.AppCompatDialog$1.superDispatchKeyEvent(AppCompatDialog.java:48)
        at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:84)
        at androidx.appcompat.app.AppCompatDialog.dispatchKeyEvent(AppCompatDialog.java:214)
        at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
        at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:3068)
        at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:564)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6035)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5890)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5343)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5396)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5362)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5521)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5370)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5578)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5343)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5396)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5362)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5370)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5343)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8387)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8320)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8281)
        at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4980)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:6990)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)

Sherzodbek-Muhammadiev avatar Jul 15 '21 06:07 Sherzodbek-Muhammadiev

Same problem for me too...

sukhenkomv avatar May 11 '23 09:05 sukhenkomv