Intereting Posts
Пользовательские настройки, сохраненные в SharedPreferences, удаленные или потерянные между перезагрузками приложения Как добавить теги в xml в android? И как сохранить этот xml-файл? Библиотека обнаружения штрих-кода Google Vision не установлена ​​на некоторых устройствах Как обрабатывать событие касания на карте google (MapFragment)? Android: как узнать файл, расположенный на веб-сервере, изменен? Как получить «referrer» от намерения, когда пользователь нажимает ссылку на реферальную ссылку и открывает предварительно установленное приложение из playstore Создание и запись файла в папку / data устройства Android Как отключить / скрыть трехточечный индикатор (индикатор меню опций) на телефонах ICS Многопоточный процесс Java (Android) Android Parcelable Реализация с ArrayList <Object> MediaPlayer: не удалось открыть файл на стороне клиента; Ошибка (-38,0) и более Настройка библиотеки поддержки Android с помощью maven Android CountDownTimer Отсутствует adActivity с android: configChanges в AndroidManifest.xml Добавление нового сетевого носителя на Android

Как определить, разрушается ли родительская активность вида

Я хочу сделать некоторую очистку в представлении, когда действие уничтожается. Есть ли способ получить обратный вызов в представлении, когда действие уничтожается? Я попытался использовать onDetachedFromWindow , но я не уверен, правильно ли это делать.

Solutions Collecting From Web of "Как определить, разрушается ли родительская активность вида"

При том понимании, что onDestroy не гарантируется, что вы можете вызвать, вы можете просто вызвать обратный вызов в своем представлении в методах onDestroy.

Редактировать в ответ на комментарий: вы можете получить любое представление, указав ему идентификатор в макете и вызвав findViewById. Вот пример:

Layout.xml (отображается только минимум)

 <LinearLayout> <com.example.superwidget.DropDownTouchEnabledListView android:id="@+id/special_list_view" /> </LinearLayout> 

MyActivity.java (опять же, минимальный и предполагающий правильный импорт)

 @Override void onDestroy() { DownTouchEnabledListView v = (DownTouchEnabledListView)findViewById(R.id.special_list_view); v.doCallback(with, parameters); } 

Если вы хотите получить обратный вызов без перегрузки View.onDetachedFromWindow() , вы можете использовать метод View.addOnAttachStateChangeListener() , который принимает прослушиватель обратного вызова как один параметр.