2015-05-01 33 views
1

我試圖讓片段在使用MvvmCross 3.5時工作。MvxFragment ViewModels

我有以下片段:

public class MainView 
    : MvxFragment<MenuView> 
{ 

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    var ignored = base.OnCreateView(inflater, container, savedInstanceState); 
    this.EnsureBindingContextIsSet(savedInstanceState); 
    var view = this.BindingInflate(Resource.Layout.MainView, null); 

    return view; 
} 
} 

我已經使用以下代碼用於手動初始化視圖模型:

var loaderService = Mvx.Resolve<IMvxViewModelLoader>(); 
ViewModel = (T)loaderService.LoadViewModel(
      new MvxViewModelRequest(typeof(T), null, null, null), null); 

此工作正常時,片段被恢復,除了在該點處應用程序爆炸了NullReferenceException

我現在試圖使用MvxCachingFragmentActivity來處理碎片的生命週期,但找不到任何文檔。

我已經註冊的片段:

RegisterFragment<MainView, MainViewModel>(typeof(MainView).Name, bundle); 

,然後示出了一個:

ShowFragment(typeof(MainView).Name, Resource.Id.content_frame, bundle); 

片段負載,但視圖模型是空的。我錯過了明顯的東西嗎?

+0

處理這個可以在這裏找到一個新的例子:https://github.com/MvvmCross/MvvmCross-AndroidSupport/tree/master/Samples – Martijn00

+0

@ Martijn00鏈接不存在:( – BrutalDev

回答

1
[MvxOwnedViewModelFragment] 
的片段

需要爲3.5.1