Intereting Posts
Ошибка загрузки скрипта ScriptC – скрипт рендеринга android Как установить будильник для рабочих дней в android Ubuntu 15.04 build 5.0 5.0: вы пытаетесь построить с неправильной версией java. Зачем? Как перезапустить приложение Android из приложения OnUpdate не вызывается в виджетах, хотя я вижу, что android.appwidget.action.APPWIDGET_UPDATE намерен в onreceive Диалоговое окно Datepicker без визуализации календаря в режиме lollipop ? Возможно ли создать пользовательское состояние для использования в StateListDrawable? Android-студия gitignore не будет игнорировать .iml Шаблон, чтобы сделать AsyncTask "процедурным" Привязка данных Android: невозможно разрешить символ Имеются ли во время исполнения Android ART те же ограничения, что и у Dalvik? Пользовательский ImageView с тенью Эмулятор Android вечно вечно во время загрузки Как сохранить несколько объектов с помощью библиотеки PARSE от android AlertDialog и мягкая клавиатура

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

Я хочу сделать некоторую очистку в представлении, когда действие уничтожается. Есть ли способ получить обратный вызов в представлении, когда действие уничтожается? Я попытался использовать 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() , который принимает прослушиватель обратного вызова как один параметр.