Xamarin中的SetRetainInstance没有显示

时间:2016-04-23 07:25:06

标签: xamarin.android

我已经搜索了谷歌这个,但我真的不能。我非常谨慎,甚至在第二页搜索过。

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;



        }
    }

1 个答案:

答案 0 :(得分:3)

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

yourFrag.RetainInstance = true;

如果你想在你的FragHome课程中做同样的事情,那么以下内容就足够了:

this.RetainInstance = true;

有关详细信息,您可以启动from here.