TextWatcher afterTextChanged вызывает stackoverflow в android

У меня есть метод drawItems(), который каждый раз создает новый макет и устанавливает его как contentView. И у меня также есть элемент управления EditText, который должен удалять другие элементы при изменении его содержимого.

edit.addTextChangedListener(new TextWatcher() {

                    public void afterTextChanged(Editable s) {
                        currentText = s.toString();
                        drawItems();
                    }

                    public void beforeTextChanged(CharSequence s,
                            int start, int count, int after) {
                    }

                    public void onTextChanged(CharSequence s, int start,
                            int before, int count) {
                    }
                });

Я хочу сохранить его текущий текст, удалить все элементы и оставить только этот EditText с сохраненной строкой. Когда я пытаюсь запустить это приложение, возникает ошибка StackOverflow, потому что метод drawItems выполняется бесконечное количество раз. Почему он выполняет drawItems в afterTextChanged, даже если я не меняю его содержимое? Он отрисовывается еще до загрузки всей страницы.

5
задан Parth Doshi 25 December 2011 в 07:02
поделиться