Funciones de línea que deben llamarse desde métodos de ciclo de vida específicos – Nikola Despotoski

google: bultos

Cometí algunos errores al usar el nuevo registerForActivityResultAPI, que da como resultado un error:

Fatal Exception: java.lang.IllegalStateException: Fragment MyFragment{e964a6} (573498bb-7d87–4d58–9e84–59223f13f14c) id=0x7f0a00b3} is attempting to registerForActivityResult after being created. Fragments must call registerForActivityResult() before they are created (i.e. initialization, onAttach(), or onCreate()). at androidx.fragment.app.Fragment.prepareCallInternal(Fragment.java:3) at com.package.name.android.ui.MyFragment.registerForActivityResult(MyFragment.java:15)

Los desarrolladores deben recibir un error durante la compilación y / o Inspección de código para ese abuso específico de llamadas a funciones sensibles al ciclo de vida.

Escribí uno que me recordó que había terminado con la usabilidad. Esta verificación de hilo está buscando uso registerForActivityResultfuera de onCreateo onAttachfunción del ciclo de vida en Fragmento Activitysubclases.

Considera expresiones unarias, como:

registerForActivityResult(contract, callback).launch(argument)

y expresiones binarias:

launcher = registerForActivity(contract, callback)

qué objeto se utilizará para la llamada launch(arguments) .

Estas fibras no utilizan wYPor lo tanto, si la llamada a la función se realiza en otra función, desafortunadamente las pilas de funciones más profundas no se tienen en cuenta, y las llamadas dentro de lambdas permanecen sin marcar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *