Cómo detectar si la actividad principal de la vista se está destruyendo
Quiero hacer una limpieza en una vista cuando la actividad está siendo destruida. ¿Hay alguna manera de obtener una devolución de llamada en la vista cuando se está destruyendo la actividad? Intenté usar onDetachedFromWindow
, pero no estoy seguro si es cosa correcta de hacer.
- Bitmap de TextView (getDrawingCache) siempre nulo
- Java.lang.InstantiationException: no se puede instanciar class: no hay constructor vacío
- Android TextView en la parte superior de una vista
- Android View PerformClick () y callOnClick () diferencia
- ¿Cómo comprobar la vista contiene otra vista?
- Sobreescribiendo el método onScroll del com.android.View en la codificación android?
- ¿Cómo configurar Media Controller sobre el video?
- Android: dibujar ImageView exactamente sobre la vista existente en una capa más profunda
- Textura para pintar objeto en Android?
- Método para anular cuando el diseño se destruye en Android
- ¿El índice es importante en addView ()?
- ¿Cómo obtener todas las vistas en una actividad?
- Android slide down animación
Con la comprensión de que onDestroy no se garantiza que se llame, sólo puede devolver la llamada a su vista en el método onDestroy de actividades.
Editar en respuesta al comentario: puede obtener cualquier vista dándole un id en el diseño y llamando a findViewById. He aquí un ejemplo:
Layout.xml (mostrando sólo el mínimo)
<LinearLayout> <com.example.superwidget.DropDownTouchEnabledListView android:id="@+id/special_list_view" /> </LinearLayout>
MyActivity.java (nuevamente, mínimo y suponiendo las importaciones adecuadas)
@Override void onDestroy() { DownTouchEnabledListView v = (DownTouchEnabledListView)findViewById(R.id.special_list_view); v.doCallback(with, parameters); }
Si desea obtener una devolución de llamada sin tener que sobrecargar el método View.onDetachedFromWindow()
, puede utilizar el método View.addOnAttachStateChangeListener()
, que toma un oyente de devolución de llamada como un solo parámetro.