예제 #1
0
        private void SetPrivateFactoryInternal()
        {
            if (this._setPrivateFactory)
            {
                return;
            }

            if (Build.VERSION.SdkInt < BuildVersionCodes.Honeycomb)
            {
                return;
            }

            if (!(this.Context is IFactory2))
            {
                this._setPrivateFactory = true;
                return;
            }

            Java.Lang.Class layoutInflaterClass     = Java.Lang.Class.FromType(typeof(LayoutInflater));
            Method          setPrivateFactoryMethod = layoutInflaterClass.GetMethod("setPrivateFactory", Java.Lang.Class.FromType(typeof(IFactory2)));

            if (setPrivateFactoryMethod != null)
            {
                try
                {
                    setPrivateFactoryMethod.Accessible = true;
                    setPrivateFactoryMethod.Invoke(this,
                                                   new PrivateFactoryWrapper2((IFactory2)this.Context, this, this._bindingVisitor));
                }
                catch (Java.Lang.Exception ex)
                {
                    Mvx.Warning("Cannot invoke LayoutInflater.setPrivateFactory :\n{0}", ex.StackTrace);
                }
            }

            this._setPrivateFactory = true;
        }
예제 #2
0
 static void LogInfoToPreviewer(string message)
 {
     Java.Lang.Class          designerHost = Java.Lang.Class.FromType(typeof(ImageRenderer)).ClassLoader.LoadClass("mono.android.HostProcessConnection");
     Java.Lang.Reflect.Method reportMethod = designerHost.GetMethod("logInfo", Java.Lang.Class.FromType(typeof(Java.Lang.String)));
     reportMethod.Invoke(null, message);
 }