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

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

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