Задать вопрос
@samarjan

Как удалить утекший TextWatcher?

Я использую TextWatcher что бы фильтровать данные в ArrayAdapter. Но когда выхожу из приложения этот слушатель остается в памяти и держит все приложение, несмотря на то что я уего удаляю из EditText'a в OnDestroy(), который всегда вызывался

ca34631dc06a4004acdc600129c2184d.png
TextWatcher watcher = new TextWatcher() {
		@Override
		public void onTextChanged(CharSequence s, int start, int before, int count) {
			arrayAdapter.getFilter().filter(s);
		}
		@Override
		public void beforeTextChanged(CharSequence s, int start, int count,
				int after) {}
		@Override
		public void afterTextChanged(Editable s) {}
	};

@Override
	public void onDestroy() {
		Log.d(TAG, "onDestroy");
		mActionTypeField.removeTextChangedListener(watcher);
		watcher = null;
		mActiveCursor.close();
		super.onDestroy();
	}
  • Вопрос задан
  • 2349 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Устанавливайте в onStart(), удаляйте в onStop().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы