0

My appがMvvMCross v 5以降のXamarin.Android上にあります。私は以下のサンプルに​​現在のところ、フラグメントに関連付けられたビューモデルを閉じようとしています。アクティビティ

を実装しようとしている

は、ここで私はすべての私 "DrawerLayout、ツールバー、AppbarLayout、でframeLayout、NavigationView"

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

を持っていますマイホームビューです

しかし、私のHomeviewで私は同じLayout.soの全体DrawerLayoutを作成していますいつでも私はこのようなフラグメントをswitichingナビゲーションメニュー項目をクリック

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:現在のところ、Topアクティビティ(Peeto.Droid.Views.HomeViewがIMvxFragmentHostインターフェイスを実装していない場合)のフラグメントに関連付けられたViewModelを閉じようとしています。

答えて

0

あなたのパッケージが5.2の間に5.0のコードを使用しているようです。このサンプルは5.2でのみ有効です。あなたは属性を[MvxFragmentPresentation]に変更して、新しいプレゼンターに更新しなければなりません。

+0

マーティンありがとうございました.MvvmCross.Droid.Sharedが5.2.0 MvvMcrossでインストールされていない理由はもう1つありますか? – Charwaka

+0

これは削除されているためです。ブログ記事で説明されています。 – Martijn00

関連する問題