Android 取消订阅NavigationView检索到的邮件

Android 取消订阅NavigationView检索到的邮件,android,xamarin,mvvmcross,Android,Xamarin,Mvvmcross,我正在开发Xamarin Android应用程序。我被如何取消订阅NavigationView检索到的消息所困扰。 我试过: public override void OnDestroyView () { messenger.Unsubscribe<UserLoginMessage> (_token); base.OnDestroyView (); } 公共覆盖无效OnDestroyView() { 取消订阅(_令牌); base.OnDestroyView();

我正在开发Xamarin Android应用程序。我被如何取消订阅NavigationView检索到的消息所困扰。 我试过:

public override void OnDestroyView ()
{
    messenger.Unsubscribe<UserLoginMessage> (_token);
    base.OnDestroyView ();
}
公共覆盖无效OnDestroyView()
{
取消订阅(_令牌);
base.OnDestroyView();
}
以下是我在navigationview中订阅邮件的方式:

 public class MenuFragment : MvxFragment<MenuViewModel>, NavigationView.IOnNavigationItemSelectedListener
{
    private NavigationView navigationView;
    public TextView LoginUserName;
    public ImageView ProfilePicture;
    public IMvxMessenger messenger;
    public MvxSubscriptionToken _token;
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        var ignore = base.OnCreateView(inflater, container, savedInstanceState);

        var view = this.BindingInflate(Resource.Layout.fragment_navigation, null);

        navigationView = view.FindViewById<NavigationView>(Resource.Id.navigation_view);
        navigationView.SetNavigationItemSelectedListener(this);
        navigationView.Menu.FindItem (Resource.Id.nav_home).SetChecked (true);
        navigationView.Menu.FindItem (Resource.Id.nav_LogOut).SetVisible (false);           

         messenger = Mvx.Resolve<IMvxMessenger>();
        _token = messenger.SubscribeOnMainThread<UserLoginMessage>(Login_Info,MvxReference.Strong);

        return view;
    }
public类菜单片段:MvxFragment,NavigationView.IOnNavigationItemSelectedListener
{
私有导航视图导航视图;
公共文本视图登录名;
公众影像浏览简介图片;
公共信使;
公共MvxSubscriptionToken(公共MvxSubscriptionToken);
创建视图上的公共覆盖视图(布局、充气机、视图组容器、捆绑包保存状态)
{
var ignore=base.OnCreateView(充气机、容器、savedInstanceState);
var view=this.BindingInflate(Resource.Layout.fragment\u导航,null);
navigationView=view.findviewbyd(Resource.Id.navigation\u视图);
navigationView.SetNavigationItemSelectedListener(此);
navigationView.Menu.FindItem(Resource.Id.nav_home).SetChecked(true);
navigationView.Menu.FindItem(Resource.Id.nav_LogOut).SetVisible(false);
messenger=Mvx.Resolve();
_token=messenger.SubscribeOnMainThread(登录信息,MvxReference.Strong);
返回视图;
}
但这不是退订信息,我收到两次信息。

解决方案是什么?请帮助!

您是否使用MessagingCenter进行订阅?如果是,您的订阅代码是什么样子的?我使用的是IMVxMessenger您是否尝试过
\u token.Dispose()
?如果不是,那么可能会显示更多的代码…您确定只订阅一次吗?我尝试过\u token.Dispose()).但它不起作用。@Stuart