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.
我已经搜索 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.