1 year ago

#372121

test-img

Heia

clear edittext when start typing

I got some issue with my code and I can't find anything to help me. I'm trying to clear my edittext when I'm typing any char. I got this error

/AndroidRuntime: FATAL EXCEPTION: main
java.lang.ArrayIndexOutOfBoundsException: src.length=10 srcPos=10 dst.length=10 dstPos=0 length=2
    at java.lang.System.arraycopy(Native Method)
    at android.text.SpannableStringBuilder.moveGapTo(SpannableStringBuilder.java:178)
    at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:376)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:549)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:507)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:37)
    at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:843)
    at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:197)
    at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:177)
    at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:339)
    at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:89)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7356)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

And my code is like that

binding.formInputQuantity.editTextValue.addTextChangedListener(object: TextWatcher{
            override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {

            }
            override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
                if(locationIsFocused){
                    locationIsFocused = false
                    binding.formInputQuantity.editTextValue.text.clear()
                }
            }

            override fun afterTextChanged(p0: Editable?) {

            }
        })
locationEditText.onFocusChangeListener = View.OnFocusChangeListener { v, hasFocus ->
            locationIsFocused = true
        }

When I launch the step by step, everything is working fine, but not when I run it normally.

Thanks !

android

kotlin

android-edittext

0 Answers

Your Answer

Accepted video resources