2016-04-23 33 views
1

我已經搜索谷歌這個,但我真的不能。我是如此desparete我甚至搜索第二頁。SetRetainInstance Xamarin沒有顯示

intelliense不知道任何setRetainInstance 我的片段是不是在堆棧中,當我改變屏幕的方向,應用程序崩潰,請告訴我如何實現setRetainIncetance在xamarin

我知道,它調用當它試圖重新創建片段時,會默認片段構造函數,但我不希望這樣做,因爲它會產生不需要的行爲。

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; 



     } 
    } 

回答

3

雖然我自己沒有用過,但經過一番搜索之後,我發現它不像Android,它是Xamarin中的一個屬性。因此,假如你想要做的事就像在Android的setRetainInstance (true),然後在Xamarin,你需要做的:

yourFrag.RetainInstance = true; 

如果你想要做同樣的FragHome類中,那麼以下就足夠了:

this.RetainInstance = true; 

欲瞭解更多信息,請點擊from here.