es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Xamarin, C#, ¿cómo se obtiene el FragmentManager predeterminado de la actividad para usar la versión de AndroidX en lugar de la antigua al usar AndroidX?

Tengo AndroidX en mi proyecto de Xamarin Android. En https://learn.microsoft.com/en-us/xamarin/android/platform/fragments/managing-fragments, el artículo dice que cada actividad tiene su propio FragmentManager y se utiliza “this.” para hacer referencia a él. Pero, cuando hago lo siguiente:

var fragmentTransaction = this.FragmentManager.BeginTransaction();  // usando Android.App. la versión obsoleta

Puedo ver que “this.” hace referencia a la versión obsoleta, ¿cómo se fuerza a una actividad para que incluya automáticamente la nueva versión de AndroidX?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para asegurarse de que su proyecto de Xamarin Android esté usando la nueva versión de AndroidX, necesita actualizar la configuración y las dependencias de su proyecto.

    En primer lugar, actualice las bibliotecas Xamarin.Android.Support a sus equivalentes de AndroidX. Puede hacerlo siguiendo los pasos que se encuentran en la documentación de Xamarin: https://docs.microsoft.com/en-us/xamarin/android/platform/androidx-migration/

    A continuación, en las propiedades de su proyecto, vaya a la sección Opciones de Android y establezca “Compilar usando la versión de Android” en Android 9.0 (nivel de API 28) o superior. Esto asegurará que su proyecto esté utilizando el marco de trabajo AndroidX.

    Después de actualizar la configuración de su proyecto, debería poder utilizar el nuevo FragmentManager de AndroidX referenciando “this.SupportFragmentManager.BeginTransaction();” en lugar de “this.FragmentManager.BeginTransaction();”. Esto asegurará que esté utilizando la versión no obsoleta del FragmentManager en su proyecto de Xamarin Android.

Comments are closed.