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?
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.