cómo comprobar si una actividad implementa una interfaz después de onAttach (Activity activity) ha sido depreciada
Dado que onAttach (Activity) ha sido obsoleto en SDK 23, ¿cuál es el mejor método en el ciclo de vida de Fragment para comprobar si una Actividad está implementando una interfaz?
este código ya no es correcto y en el futuro este método podría incluso ser eliminado.
- Devolución de llamada cuando la aplicación se cancela al pasar
- ¿Cuál es el orden correcto de llamar métodos de superclase en los métodos onPause, onStop y onDestroy? ¿y por qué?
- IllegalStateException: Fragmento ya agregado en el fragmento tabhost
- ¿Cómo evito que Android tome una captura de pantalla cuando mi aplicación va al fondo?
- ¿Por qué OnCreate () de Fragment se llama a veces antes de OnCreate de Activity ()?
@Override public void onAttach(Activity activity) { super.onAttach(activity); if (activity instanceof OnInterfaceOfFragmentListener) mCallback = (OnInterfaceOfFragmentListener) activity; else throw new RuntimeException("OnInterfaceOfFragmentListener not implemented in activity"); }
- LocalBroadcastManager y el ciclo de vida de la actividad
- Mostrar fragmento viewpager dentro de un fragmento
- ¿Cuándo puedo primero medir una vista?
- Nivel de aplicación onResume Android
- Cómo "destruir" varias actividades de Android al mismo tiempo
- ¿Puede Wi-Fi o la CPU ir a dormir cuando la pantalla está encendida?
- ¿Qué sucede con la aplicación Android cuando una llamada telefónica interrumpe la aplicación?
- ¿Por qué onDestroy siempre se llama cuando regresa a la actividad de los padres?
El código seguirá siendo el mismo, sólo debe estar utilizando un parámetro de contexto en lugar de una actividad, según la documentación .
@Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnInterfaceOfFragmentListener) mCallback = (OnInterfaceOfFragmentListener) context; else throw new RuntimeException("OnInterfaceOfFragmentListener not implemented in context"); }
Puede utilizar el método alternativo proporcionado por el marco. Tiene el mismo lugar en el ciclo de vida que onAttach (Actividad)
onAttach(Context context)
Y para comprobar si implica una cierta interfaz:
public void onAttach(Context context) { if(context instanceOf YourInterface) { // do stuff } else throw new RuntimeException("XYZ interface not implemnted"); }
- ¿Cómo recargar la página en un proyecto de Córdoba?
- Android Detener la notificación de brindis por programación?