@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();
	}
  • Вопрос задан
  • 2345 просмотров
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Устанавливайте в onStart(), удаляйте в onStop().
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы