Xamarin 中的 SetRetainInstance 未显示

SetRetainInstance in Xamarin not showing

我已经搜索 google 了,但我真的找不到。我很绝望,我什至搜索了第二页。

intelliense 不知道任何 setRetainInstance 我的片段不在后台,当我改变屏幕方向时,应用程序崩溃,请告诉我如何在 xamarin

中实现 setRetainIncetance

我知道它在尝试重新创建片段时会调用片段默认构造函数,但我不希望那样,因为它会产生不需要的行为。

public class FragHome : Android.Support.V4.App.Fragment
    {
        Context context;

        public FragHome(Context c)
        {
            context = c;
        }


        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your fragment here


        }

        public override void OnActivityCreated(Bundle savedInstanceState)
        {

            base.OnActivityCreated(savedInstanceState);
        }

        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Use this to return your custom view for this Fragment
            View view = inflater.Inflate(Resource.Layout.Home, container, false);

            //test codes


            return view;



        }
    }

虽然我自己没有用过,但经过一番搜索,我发现它与Android不同,它是Xamarin中的属性。因此,假设您想在 Android 中执行类似 setRetainInstance (true) 的操作,那么在 Xamarin 中您将需要执行以下操作:

yourFrag.RetainInstance = true;

如果您想在 FragHome class 中执行相同的操作,那么以下内容就足够了:

this.RetainInstance = true;

想了解更多,可以开始from here.