Xamrin.Forms(Android)MessagingCenter不工作

时间:2018-02-05 08:23:39

标签: xamarin xamarin.forms xamarin.android

创建的MessagingCenter无效, Guid变量生成的值不会移动到其他页面。

CustomWebviewRenderer.cs中的代码

Guid guid = Guid.NewGuid();
MessagingCenter.Send<CustomWebViewRenderer, Guid>(this, "Hi", guid);

MainActivity.cs

Guid guid;
 MessagingCenter.Subscribe<CustomWebViewRenderer, Guid>(this, "Hi",(arg1, arg2) =>
        {
            guid = arg2;
        });

1 个答案:

答案 0 :(得分:0)

对我而言,这也是错误的,所以我只是在共享代码中创建了一个消息类,它运行良好,并从Android调用它。

Android代码示例:

Messager.Notify.TabBarClicked((int)tab.Position);

共享代码示例:

public class Messager
    {

        public readonly static Messager Notify = new Messager();

        //-------------------------------------------------------------------
        public void TabBarClicked(int tag)
        //-------------------------------------------------------------------
        {
            MessagingCenter.Send(this, "TabBarClicked", tag.ToString());
        }
        // something more...

    }

适应你的情况.. 另一个错误点是,如果它们具有少于或多于1个arg参数,那么我对消息失败很多。对我来说,如果参数不是String类型,他们也讨厌。不知道为什么,所以只是使用变通方法..