Search code examples
androidclasslistenertextwatcher

Creating separate class for listener


What is the advantage of creating separate class for listener OR is there any?Which of the below code is more efficient and why?When should i create separate class?

Separate class for TextWatcher

mEditText.addTextChangedListener(mNumberWatcher);
TextWatcher mNumberWatcher = new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void afterTextChanged(Editable editable) {


        }
    };

No Separate class

mEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });

Solution

  • You should use separate class for listener when it needs to use same listener several times in our code, in many no. of classes.