0

我的應用程序在Xamarin.Android與MvvMCross v 5 +。您正在嘗試關閉查看與片段關聯的模型當前頂部活動

我試圖實現後續樣品​​

這裏是我的家查看在那裏,我有我所有的 「DrawerLayout,工具欄,AppbarLayout,FrameLayout裏,NavigationView」

[Activity(Label = "View for HomeViewModel", 
 
      LaunchMode = LaunchMode.SingleTop 
 
     )] 
 
    public class HomeView : MvxAppCompatActivity<HomeViewModel>, INavigationActivity 
 
    { 
 
    }

但在我的家庭視圖中,我創建整個DrawerLayout在相同Layout.so whenvever我點擊導航菜單項我切開這樣的片段

switch (e.MenuItem.ItemId) 
 
       { 
 
        case Resource.Id.nav_home: 
 
         ViewModel.ShowViewModelAndroid(typeof(OrdersViewModel)); 
 
         //ListItemClicked(0); 
 
         break; 
 
        case Resource.Id.nav_friends: 
 
         ListItemClicked(1); 
 
         break; 
 
        case Resource.Id.nav_profile: 
 
         ListItemClicked(2); 
 
         break; 
 
       }

MY片段

[MvxFragment(typeof(HomeViewModel), Resource.Id.content_frame, true)] 
 
    [Register("Peeto.Droid.Views.Fragments.OrdersFragment")] 
 
    public class OrdersFragment: BaseStateFragment<OrdersViewModel> 
 
    { 
 
    }

每當我點擊nav_home它拋出以下錯誤

未處理的異常:

System.InvalidOperationException:當您正在嘗試關閉當前頂級Activity(Peeto.Droid.Views.HomeView未實現IMvxFragmentHost接口的情況下與Fragment關聯的ViewModel!

回答

0

看起來好像你使用的是5.0代碼,而你的包在5.2上。此示例僅在5.2上有效。您必須將您的屬性更改爲[MvxFragmentPresentation]並更新爲新的演示者。

+0

非常感謝Martin :)另外還有一個疑問,爲什麼MvvmCross.Droid.Shared沒有安裝5.2.0 MvvMcross? – Charwaka

+0

因爲它被刪除。它在博客文章中解釋。 – Martijn00