我已经搜索了谷歌这个,但我真的不能。我非常谨慎,甚至在第二页搜索过。
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;
}
}
答案 0 :(得分:3)
虽然我自己没有使用过这个,但经过一番搜索,我发现与Android不同,它是Xamarin的一个属性。因此,假设您想在Android中执行setRetainInstance (true)
之类的操作,那么在Xamarin中您需要执行以下操作:
yourFrag.RetainInstance = true;
如果你想在你的FragHome
课程中做同样的事情,那么以下内容就足够了:
this.RetainInstance = true;
有关详细信息,您可以启动from here.