'TextWatcher multiple calls (edit text)

I added a text watcher to my edit text in recycler view but when backspace all edit text and try to set text in the first position (only in that) text watcher call twice or more

Adapter code:

@Override
public void onBindViewHolder(RecyclerOrdenamientoAdapter.ViewHolder holder, int position) {
    final QPAY_ActiveCampaign_Questions item = this.items.get(position);


            // ImageView
            Glide.with(holder.iv_ordenamiento_imagen.getContext())
                    .load(item.getQuestion()) // image url
                    .error(R.drawable.no_disponible)  // any image in case of error
                    .override(300, 300) // resizing
                    .centerCrop()
                    .transition(DrawableTransitionOptions.withCrossFade())
                    .into(holder.iv_ordenamiento_imagen);  // imageview object
            // EditText
            holder.et_posicion_img.setInputType(InputType.TYPE_CLASS_NUMBER);
            holder.et_posicion_img.setKeyListener(DigitsKeyListener.getInstance("123456789"));
            holder.et_posicion_img.setSingleLine(true);


                holder.et_posicion_img.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                    Log.d("beforeTextChanged",holder.et_posicion_img.getText().toString());

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                    Log.d("onTextChanged",holder.et_posicion_img.getText().toString());
                    String editTextContent = holder.et_posicion_img.getText().toString();
                    onEditTextChanged.onTextChanged(holder.getAdapterPosition(), editTextContent, Integer.valueOf(item.getId()), holder.et_posicion_img);
                }

                @Override
                public void afterTextChanged(Editable editable) {
                    Log.d("afterTextChanged", String.valueOf(editable));
                }
            });

}

what could be wrong in my code?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source