android - Después de Fragment.NewInstance No se puede encontrar el constructor predeterminado en el tipo MvvmCross.Droid.Support.V4.MvxFragment
android-fragments xamarin (0)
Tengo un problema con Fragment.NewInstance. Tuve un problema con la animación de deslizar en este tema . Ahora funciona bien, pero el problema es cuando deslizo las vistas y después de deslizar, cuando cambio la orientación, por ejemplo, paisaje a retrato, tengo un error:
Xamarin causado por: android.runtime.JavaProxyThrowable: System.NotSupportedException: no se puede encontrar el constructor predeterminado en el tipo MvvmCross.Droid.Support.V4.MvxFragment. Proporcione el constructor que falta. ---> Java.Interop.JavaLocationException: Se lanzó una excepción del tipo ''Java.Interop.JavaLocationException''.
Este error solo aparece después de deslizar mi dedo con este código:
private void DoSwipe(string swipeText)
{
if (swipeText.Equals("LEFT"))
{
FragmentManager.BeginTransaction()
.SetCustomAnimations(Resource.Animator.slide_from_right, Resource.Animator.slide_to_left)
.Replace(Resource.Id.content_frame, ThirdFragment.NewInstance(null))
.Commit();
}
if (swipeText.Equals("RIGHT"))
{
FragmentManager.BeginTransaction()
.SetCustomAnimations(Resource.Animator.slide_from_left, Resource.Animator.slide_to_right)
.Replace(Resource.Id.content_frame, FirstFragment.NewInstance(null))
.Commit();
}
ViewModel.SwipeView(swipeText);
}
Cuando no uso Deslizar la orientación de cambio funciona bien.
Intenté agregar este código ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
pero el problema es que no funciona ningún error, pero esta solución no llama a mi método OnCreateView donde tengo una vista específica para Landscape y Portrait: _ view = this.BindingInflate(orientation == Orientation.Landscape ? FragmentLandscapeId : FragmentId, null);
Intenté anular el método OnOrienationChange, pero intenté aquí algo como Activity.SetContentView (FragmentIdLandcape) pero la vista no se cargó bien + no contiene mis datos en esta vista.
¿Hay alguna solución para resolver el problema de error y después del cambio de orientación siempre llame a OnCreateView como ahora?
Por ejemplo, mi proyecto de prueba está aquí en github (pero allí no tengo una vista específica para el paisaje y el retrato).