2015-07-22 23 views

risposta

10

La vista non ha una richiamata (eccetto lo finalize(), ma non penso che sia quello che stai chiedendo). La vista ha onDetachedFromWindow() quando viene rimosso dallo schermo, ma questo non è correlato al fatto che viene distrutto - potrebbe essere collegato di nuovo, che chiamerà onAttachedToWindow().

Il frammento ha onDestroyView(), che potrebbe essere più utile per voi. L'attività non ha un metodo equivalente, ma è possibile utilizzare onDestroy() se si sa che potrebbe non essere mai chiamato se il sistema decide di interrompere in modo imprevisto l'app.

+0

significa che 'onDestroyView()' verrà chiamato quando il sistema decide di terminare la mia app in modo imprevisto? –

+0

@ RadekKłos Probabilmente no. Se quello che vuoi veramente è sapere se la Vista è attualmente sullo schermo, forse un callback migliore è 'View.onDetachedFromWindow()' – Karakuri

+0

Grazie per la risposta. Immagino che 'onDetachedFromWindow()' non venga ancora chiamato quando il sistema decide di terminarmi inaspettatamente, ma verrà chiamato insieme, ad esempio, a 'onDestroy() 'di Activity? È giusto? Quello che voglio ottenere è che voglio memorizzare i dati personali della vista su SharedPreferences quando l'app termina e voglio farlo in questo oggetto View, non in Activity che ha questa vista nel suo layout. –