2012-08-31 14 views
14

tomado de http://developer.android.com/guide/topics/ui/settings.html:Contexto en un PreferenceFragment

Nota: Un PreferenceFragment no tiene su propio objeto de contexto. Si necesita un objeto Context, puede llamar a getActivity(). Sin embargo, sea teniendo cuidado de llamar a getActivity() solo cuando el fragmento se adjunta a una actividad . Cuando el fragmento aún no está conectado, o se ha desconectado durante el final de su ciclo de vida, getActivity() devolverá nulo.

Si llamo getActivity() desde dentro del método OnCreate() de un PreferenceFragment entonces puedo estar seguro de que el fragmento se une a su actividad - o hay alguna otra manera que debe obtener el contexto en este caso ?

La razón por la que necesito un contexto es que estoy tratando de utilizar una notificación de la tostada de la PreferenceFragment

+1

getActivity funcionará – nandeesh

+0

Este repositorio hace un buen trabajo al explicar el fragmento y el ciclo de vida de la actividad. https://github.com/xxv/android-lifecycle/blob/master/README.md –

Respuesta

14

Si desea asegurarse de que el contexto está disponible tendrá que esperar hasta que el fragmento se ha unido a una actividad. La devolución de llamada para esto es el método onAttach(Activity).

Según el estado del ciclo de vida de su fragmento, el método getActivity() también puede devolver nulo.

+0

¿No es nulo entre onResume y onPause? – Ahmed

+0

Supongo que nunca lo sabremos. – Denny

Cuestiones relacionadas