Xamarin.android Xamarin中的SetRetainInstance未显示
我在谷歌上搜索过这个,但我真的找不到。我太绝望了,我甚至翻了第二页 IntelliSense不知道任何Xamarin.android Xamarin中的SetRetainInstance未显示,xamarin.android,Xamarin.android,我在谷歌上搜索过这个,但我真的找不到。我太绝望了,我甚至翻了第二页 IntelliSense不知道任何setRetainInstance 我的片段不在backbackback中,当我更改屏幕方向时,应用程序崩溃,请告诉我如何在xamarin中实现setRetainmentance 我知道当它试图重新创建片段时,它会调用片段默认构造函数,但我不希望这样,因为它会创建不需要的行为 public class FragHome : Android.Support.V4.App.Fragment
setRetainInstance
我的片段不在backbackback中,当我更改屏幕方向时,应用程序崩溃,请告诉我如何在xamarin中实现setRetainmentance
我知道当它试图重新创建片段时,它会调用片段默认构造函数,但我不希望这样,因为它会创建不需要的行为
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
类中执行同样的操作,那么以下内容就足够了:
this.RetainInstance = true;
有关更多信息,您可以开始